socket常用功能函数: socket.socket(family=AF_INET, type=SOCK_STREAM, proto=0, fileno=None) #创建socket对象 socket families(地址簇): AF_UNIX —————————— unix本机之间进行通信 AF_INET —————————— 使用IPv4 AF_INET6 —————————— 使用IPv6 注:socket.socket()中第一个能使用上述值。 socket types: SOCK_STREAM # TCP套接字类型 SOCK_DGRAM # UDP套接字类型 SOCK_RAW #原始套接字类型,这个套接字比较强大,创建这种套接字可以监听网卡上的所有数据帧 SOCK_RDM #是一种可靠的UDP形式,即保证交付数据报但不保证顺序。SOCK_RAM用来提供对原始协议的低级访问,在需要执行某些特殊操作时使用,如发送ICMP报文。SOCK_RAM通常仅限于高级用户或管理员运行的程序使用。 注:这些常量都是套接字类型,应用于 协议号通常为零,可以省略,或者在地址族为 socket.bind(address) #将socket绑定到地址(常用于服务端) address地址的格式取决于地址族, 在AF_INET下,以元组(host,port)的形式表示地址。 socket.listen([backlog]) #启用服务器以接受连接(常用于服务端)。 backlog >=0,指定系统在拒绝新连接之前将允许的未接受连接的数量。如果未指定,则选择默认的合理值。 socket.accept() #接收一个连接.该socket 必须要绑定一个地址和监听连接.返回值是一对 conn是socket对象,可以在该连接上发送和接收数据,address是连接另一端的地址。 socket.recv(bufsize[, flags]) #从socket接收数据,返回值是一个代表所收到的数据的字节对象。 一次性接收的最大数据量由bufsize指定, 参数flags通常忽略。 socket.send(data[, flags]) #将数据发送到socket。 python3中只能发送bytes类型的数据。 socket.connect(address) #连接到远程socket(常用于客户端) 如果连接被信号中断,则该方法等待直到连接完成,或者如果信号处理程序没有引发异常并且套接字正在阻塞或者已经阻塞,则在超时时引入 socket.close() #关闭socket 注:被调用后,连接断开,socket不能在发送数据,连接另一端也将不在接收数据。 |
|
来自: 二楼202 > 《python学习》