PYTHON socketserver基础使用
socketserver tcp
import socketserver
class Myserver(socketserver.BaseRequestHandler):
def handle(self):
try:
self.request.sendall('成功连接ftp服务器'.encode('utf8'))
while True:
data = self.request.recv(1024)
print(self.client_address, ';', data.decode('utf8'))
self.request.sendall(b'hi')
except :
return
if __name__ == "__main__":
socketserver.TCPServer.allow_reuse_address = True
server = socketserver.ThreadingTCPServer(("127.0.0.1", 9998), Myftppserver)
server.serve_forever()
代码流程
1.首先定义一个类,去继承socketserver.BaseRequestHandler。
2.使用socketserver.ThreadingTCPServer()生成实例,参数1为套接字(ip,port),参数2为刚才定义的类。
3.执行serve_forever()开始监听。
执行过程
在执行serve_forever()后,会一直监听ThreadingTCPServer()时绑定的端口,每当有一个连接进来,就会实例化Myserver
类,同时会执行这个类里的handle方法。
也就是每一个连接进来,执行的所有代码都可写在handle方法下。
附
此为最简单使用方法