python socketserver实现tcp多线程链接最简单模板

PYTHON socketserver基础使用

  • socketserver tcp
  • 代码流程
    • 执行过程

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方法下。

此为最简单使用方法

你可能感兴趣的:(python基础)