socket()函数:
使用socket.socket()函数来创建套接字:
socket(socket_family,socket_type,protocol=0)
socket_familu可以是AF_INET或AF_UNIX.socket_type可以是SOCK_STREAM(面向连接的)或SOCK_DGRAM(面向非连接的).
例如:创建一个TCP/IP套接字:
tcpSock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
创建一个UDP/IP的套接字:
udpSock=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
套接字对象方法:
服务器端套接字函数 | 描述 |
s.bind() | 绑定地址(主机,端口号)到套接字 |
s.listen() | 开始TCP监听 |
s.accept() | 被动接收TCP客户的连接,(阻塞式)等待连接的到来 |
客户端套接字函数 | 描述 |
s.connect() | 主动初始化TCP服务器连接 |
s.connect_ex() | connect()函数的扩展版本,出错时返回出错码,而不是抛出异常 |
公共用途的套接字函数 | 描述 |
s.recv() | 接收TCP数据 |
s.send() | 发送TCP数据 |
s.sendall() | 完整发送TCP数据 |
s.recvfrom() | 接收UDP数据 |
s.sendto() | 发送UDP数据 |
公共用途的套接字函数 | 描述 |
s.getpeername() | 连接到当前套接字的远端的地址 |
s.getsockname() | 当前套接字的地址 |
s.getsockopt() | 返回指定套接字的参数 |
s.setsockopt() | 设置指定套接字的参数 |
s.close() | 关闭套接字 |
面向阻塞的套接字方法 | 描述 |
s.setblocking() | 设置套接字的阻塞与非阻塞模式(当为true时为阻塞,false为非阻塞) |
s.settimeout() | 设置阻塞套接字操作的超时时间 |
s.gettimeout() | 得到阻塞套接字操作的超时时间 |
面向文件的套接字的函数 | 描述 |
s.fileno() | 套接字的文件描述符 |
s.makefile() | 创建一个与该套接字关联的文件 |
时间: 2024-10-12 03:41:04