socket–底层网络接口
这个模块提供了访问BSD套接字的接口。在所有现代Unix系统、windows、macos和其他平台上可用。
socket.socket(family,type,proto,fileno)
创建套接字
socket.create_connection(address[,timeout[,source_address]])
连接到一个TCP服务,该服务正在监听internet address(用二元组(host,port)表示)。连接后返回套接字对象。相比socket.connect()更高级的函数:如果host是非数字主机名,他将尝试从AF_INET和AF_INET6解析它,然后依次尝试连接到所有可能的地址,知道连接成功。这使IPV4和IPV6的客户端变得容易。
socket.create_server(address,*,family=AF_INET,backlog=None,reuse_port=False,dualstack_ipv6=False)
便捷函数,创建绑定到address(二元组(host,port))的TCP套接字,返回套接字对象。
关闭一个套接字文件描述符
将主机名称转换为IPV4地址格式。IPV4地址以字符串格式返回
返回一个字符串,包含当前正在运行python解释器的机器的主机名
接收一个连接。此socket必须绑定到一个地址上并且监听连接。返回值是一对(conn, address),conn是一个套接字对象,用于在此链接上收发数据。address是连接另一端的套接字所绑定的地址.
socket.bind(address)
将套接字绑定到address。套接字必须尚未绑定。
将套接字标记为关闭
socket.connect(address)
连接到address处的远程套接字。adress的格式取决于地址簇,一般格式为(host,port),如果连接出错,返回socket.error错误。
connect()函数拓展,出错时返回错误码,不抛出异常。
返回套接字连接到的远程地址。可以用于查找远程IPV4/V6套接字的端口号。
返回套接字本身的地址。可以用于查找IPV4/V6套接字的端口号。
socket.listen([backlog])
启动一个服务器用于接受连接。如果指定backlog,则最低为0,它指定系统允许暂未accept的连接数,超过后将拒绝新连接。
socket.send(bytes[,flags])
发送数据给套接字。套接字必须已经连接到远程套接字。
socket.recv(bufsize[,flags])
从套接字接收数据。返回值是一个字节对象,表示接收到的数据。bufsize指定一次接收的最大数据量。
返回与套接字关联的文件对象。
返回套接字操作相关的超时秒数(浮点数),未设置超时则返回None。
socket.recvfrom(bufsize[,flags])
从套接字接收数据。返回值(bytes, address)bytes是字节对象,表示接收到的数据,address是发送套接字的地址。
socket.sendfile(file,offset=0,count=None)
使用高性能os.sendfile发送文件。
socket.sendto(bytes,flags,address)
发送数据给套接字。套接字不应连接到远程套接字
服务器端套接字
客户端套接字
人生漫漫其修远兮,网安无止境。
一同前行,加油!