python socket常用接口说明
Posted briskzou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python socket常用接口说明相关的知识,希望对你有一定的参考价值。
一、服务端
1、创建socket对象
socket.socket(family=AF_INET, type=SOCK_STREAM, proto=0, fileno=None)
AF_INET:IPv4协议
SOCK_STREAM: 字节流套接字
返回值:非负整数,记为套接字表述符
2、socket绑定地址
socket.bind((host,port))
把一个本地协议地址赋予一个套接字,这个地址不能是已被其他的socket绑定了的。
3、监听
socket.listen(5)
使得socket可以接受连接。设置最大连接数为5,这个数值可以自行设置,最小值为0
4、接受连接
conn,addr=socket.accept()
接受一个连接,socket必须已经绑定了一个地址,并且正在监听连接。
返回值是(conn,address),其中conn是一个新的socket对象,用于在这个连接上收发数据。address是绑定在这个socket连接的另一端的地址。
5、接收数据
conn.recv(bufsize)
从socket中接受数据,返回值接收的数据,数据类型是bytes对象。一次性接收到的最大数据量为bufsize。在网络或者硬件不够好的情况下,收到的数据量可能小于bufsize。
6、发送数据
conn.send(bytes)
发送数据到已连接到远程地址的socket。返回值是已发送的字节数。返回值可能小于需要发送的字节数。应用程序负责将所有的数据发送出去,如果有些数据没有被发送,应用程序需要把剩余的数据再次发送出去。
conn.sendall(bytes)
接口负责将数据全部发送到远程地址的socket上。如果成功返回None,失败则抛出异常。
二、客户端
1、创建socket对象
socket.socket(socket.AF_INET.socket.SOCK_STEAM)
与服务端创建socket对象相同
2、socket.connect((host,port))
通过地址连接到远程的socket
3、接收数据
socket.recv()
同服务端的recv()
4、发送数据
socket.send()
同服务端的send()
socket.sendall()
同服务端的sendall()
以上是关于python socket常用接口说明的主要内容,如果未能解决你的问题,请参考以下文章