python网络编程

Python网络编程:
  Python提供了两个级别访问的网络服务:
    低级别的网络服务支持基本的Socket,
      提供了标准的BSD Socket API,可以访问底层系统socket接口的全部方法
    高级别的网络服务模块SocketServer,
      提供了服务器中心类,可以简化网络服务器的开发

Socket:
  套接字,应用程序通常通过套接字想网络发出请求或者网络应答

socket()函数:
  socket.socket([family [,type[,proto]]])

  参数:
    family:套接字家族可以使AF_UNIX或者AF_INET
    type:套接字类型可以根据是面向连接的还是非连接的分为:SOCK_STREAM或SOCK_DGRAM
    protocol:一般不填默认为0


Socket对象(内建)方法:

简单实例

服务端

#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 文件名:server.py

import socket                                   # 导入 socket 模块

s = socket.socket()                          # 创建 socket 对象
host = socket.gethostname()                  # 获取本地主机名
port = 12345                                 # 设置端口
s.bind((host, port))                         # 绑定端口

s.listen(5)                                  # 等待客户端连接
while True:
    c, addr = s.accept()                     # 建立客户端连接
                                             #c为socket对象,是当前客户端访问的socket,记录客户端的ip地址和端口信息,
#当下一个客户端访问时,会创建另外的一个对应的socket对象
print '连接地址:', addr c.send('欢迎访问菜鸟教程!') c.close() # 关闭连接

客户端

#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 文件名:client.py

import socket               # 导入 socket 模块

s = socket.socket()         # 创建 socket 对象
host = socket.gethostname() # 获取本地主机名
port = 12345                # 设置端口好

s.connect((host, port))
print s.recv(1024)
s.close()  


原文地址:https://www.cnblogs.com/djoker/p/9436074.html