首页 > 代码库 > socketserver
socketserver
基于TCP的套接字,关键就是两个循环,一个链接循环,一个通信循环
socketserver模块中分两大类:server类(解决链接问题)和request类(解决通信问题)
server类:
request类:
继承关系:
分析socketserver源码:
ftpserver=socketserver.ThreadingTCPServer((‘127.0.0.1‘,8080),FtpServer)
ftpserver.server_forever()
查找属性顺序:ThreadingTCPServer->ThreadingMixln->TCPSever->BaseServer
源码分析总结:
基于TCP的socketserver我们自己定义的类中:
1.self.server即套接字对象
2.self.request即一个链接
3.self.client_address即客户端地址
基于udp的socketserver我们自己定义的类中:
1.self.request是一个元组(第一个元素是客户端发来的数据,第二部分是服务端的udp套接字对象),如(b‘adsf‘,<socket.socket fd=200,family=AddressFamily.AF_INET,type=Socket.SOCK_DGRAM,proto=0,laddr=(‘127.0.0.1‘,8080)>)
2.self.client_address即客户端地址
-------------------------------------------------------------END----------------------------------------------------------------
socketserver