socket简介
socket介绍:socket是python用来完成通信的一个模块,他提供了底层的套接字访问接口
使用方法:
1.创建socket套接字对象:
如:s = socket.socket(socket.IF_INET,socket.SOCK_STREAM) 表示以IPv4协议创建了一个流式的套接字对象 也是默认的一个创建方式
标准语法:s = socket.socket(family,type )
family指明协议家族
socket.AF_UNIX(unix域,用于同一台机器上进程间通讯)
socket.AF_INET(IPv4)
type 指明数据流格式
socket.SOCK_STREAM(流套接字)
socket.SOCK_DGRAM(数据报文套接字)
socket.SOCK_RAW(raw套接字)
服务端
2.绑定地址(url)
s.bind((host,port))
3.监听
s.listen(num) #num指最大连接数,所有的链接保存在一个队列中,以FIFO的顺序执行。其实无论这里设置多少,下一个连接也只能在上一个退出之后才能进入
4.连接
address = sock.accept()
sock调用accept()时,系统进入waiting状态,等待连接。有连接时,返回一个元组,元组中包含connection(连接套接字),address(连接地址)
段代码的意思是开启一个socket服务,客户端发送过来消息后。经过服务端的处理后。再返回给客户端,然后断开连接。
客户端
2.连接
s.connect((host,port))
3.收发数据
s.send() #返回值为已发送数据个数
s.recv(maxn)#必须加上,每次接受的最大数据量,进入block状态,函数返回值为从服务器收到的数据字符串。
如果想要发送如数组,字典这种数据结构,这可考虑使用json格式来进行数据转换发送