Python 搭建多线程服务端

来源:互联网 发布:sql修改表结构的命令 编辑:程序博客网 时间:2024/06/05 11:16

Python 搭建多线程服务端

     使用python搭建多线程服务端需要使用socketserver的ThreadingTCPServer方法。并且需要重写setup()、handel()、finish()这三个函数,具体的流程如下:

import socketserverimport timeimport threadingHOST = 'localhost'PORT = 9600ADDR = (HOST, PORT)mutex = threading.Lock()class WebSocketServer(socketserver.BaseRequestHandler):    def finish(self):        self.request.close()    def setup(self):        # set recv timetout        self.request.settimeout(10)        print('te')    def send_data_to_client(self,data):        # python3 send data type must be bytes,use encode transfer data to bytes        # python2 send data type is str        self.request.send(data.encode())    def handle(self):#在这里完成你所需要的操作        while True:            try:                # python3 recv data type is bytes,through decode to str                # python2 recv data type is str                data = self.request.recv(1024).decode()                time.sleep(15)            except Exception as e:                print(e)                break                pass            if len(data) == 0:                break            print(self.client_address)if __name__ == "__main__":    # if port is localhost,clint can not connect through other pc,enven if they are in local area network;    # so, if client can connect server through other pc,port is ''    Server = socketserver.ThreadingTCPServer(('localhost', 1080), WebSocketServer)    # Server = socketserver.ThreadingTCPServer(('', 1080), WebSocketServer)    Server.serve_forever()
       关于QT的Socket多线程,请参考:http://blog.csdn.net/lovelyaiq/article/details/76691735

原创粉丝点击