Python 搭建多线程服务端

Python 搭建多线程服务端

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

import socketserver
import time
import threading
HOST = 'localhost'
PORT = 9600
ADDR = (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

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值