socketserver
Posted 高卓
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章