python -- socket

1、socket语法

sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0)

参数一:socket.AF_INET (IPV4), socket.AF_INET6 (ipv6)

参数二:socket.SOCK_STREAM 流式socket, for TCP

              socket.SOCK_DGRAM  数据报文,for udp

              socket.SOCK_RAW   原始套接字,普通套接字无法处理imcp、igmp等报文,socket_raw可以;

              socket.SOCK_RDM 可靠的UDP形式,保证交付的数据报但不保证顺序

              SOCKET.SOCK_SEQPACKET  可靠连续数据包服务

参数三:协议:

            默认为0,系统自动根据地址格式和套接字类别自动选择,也可以指定。

2、相关语法:

a、sk.bind(address):将套接字绑定到指定地址,address是IP+Port元组形式;
b、sk.listen(bakclog):开始监听传入的连接,在没有拒绝连接前的最大连接数;
c、sk.setblocking(bool):默认为True-阻塞,如果设置为False,如果accept和recv没有数据就会报错
d、sk.accept():接受连接并返回conn,adress元组,其中conn为套接字对象,可以用来发送和接受套接字数据;
e、sk.connect(addr):连接套接字
f、sk.connect_ex(addr):与connect类似,有返回值,成功为0,如果失败返回相应失败码
g、sk.close():关闭套接字
h、sk.recv(buffsize):接收套接字数据,返回字符串
i、sk.recvfrom(buffsize):与recv类似,返回字符串+地址
j、sk.send(string):将string发送到套接字,返回值是发送字节的数量,可能小于string,因为可能尚未完全发送完成;
k、sk.sendall(string):将string全部发送至套接字,发送完成后再返回值
l、sk.sendto(string,address):将string发送至套接字,指定发送的客户端地址,用于UDP数据报传输
m、sk.settimeout(timeout):设置套接字超时时间
n、sk.getpeername():返回套接字远程连接地址
o、sk.getsockname():返回套接字本地地址
p、sk.fileno():返回套接字文件描述

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页