python socket编程,首先需要import socket模块;
创建socket对象 即创建一个socket:
sock = socket.socket(family,type);
参数:
family 表示地址家族: 1、socket.AF_INET 通常指IP地址, 2、socket.AF_UNIX 通常指本地域套接字通信。
type 套接字类型: 1、socket.SOCK_STREAM 流式套接字(TCP), 2、socket.SOCK_DGRAM 数据报套接字(UDP)
比如:
sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM);
将创建的socket对象,绑定到指定的地址(IP和port) 即绑定:
sock.bind(address);
参数:
前面创建的socket使用AF_INET类型,这里的地址address是一个双元素元组。
address的格式为(host,port),host为主机IP,port为端口。
比如:
sock.bind(("172.25.81.16",33306));
设置监听队列的大小:
sock.listen(backlog);
参数:
backlog是用来设置连接队列的大小,最小值为1。
比如:
sock.listen(10);
接收客户端连接:
connect,address = sock.accept();
返回值:
connect是和客户端建立的连接,后续通信就依靠它来完成,buf=connect.recv(len)或connect.send(buf)等。
address是客户端的地址信息,格式为(host,port)。
接收和发送消息:
接收:
buf = connect.recv(len);
返回值:
接收到的消息内容;
接收长度len;
例如:
buf = connect.recv(1024);
发送:
buf="hello client";
connect.send(buf);
链接到服务器:
sock.connect(address);
参数:
address服务器端的地址,格式为(host,ip)。
例如:
sock.connect((172.25.81.16,33306));
关闭连接:
sock.close();