s = socket.socket(family, type) :实例化一个Socket对象,接收两个参数,family 指 Socket 类型,type 指Socket 数据流
s.bind((IP, PORT)) :绑定 Socket 到对应的主机和端口号,注意参数是元组的形式
s.listen() :监听上面绑定的主机和端口号,可以设置一个参数如 s.listen(5),表示最多连接排队数量
s.connect((IP, PORT)) :用于连接远程主机,注意参数是元组的形式
s.sendall(‘Hello‘) :用于发送数据
s.close() :用于关闭 Socket 连接
connect, address = s.accept() :用于接收客户端连接,结果会返回一个 Socket 对象和客户端 IP 地址,可以使用 Socket 对象来收发数据
connect.sendall(‘Hello‘) :发送数据
connect.recv(1024) :接收数据
Socket 类型:
socket.AF_UNIX :本地Socket,用于(本地)两个进程间通信
socket.AF_INET :网络Socket,用于(跨网络)两个进程间通信,适用于 IPv4
socket.AF_INET6 :网络Socket,用于(跨网络)两个进程间通信,适用于 IPv6
Socket 数据流:
socket.SOCK_STREAM:指TCP的数据流
socket.SOCK_DGRAM :指UDP的数据流
socket.SOCK_RAW :指原始套接字