六、socketserver

socketserver能实现socket服务器端的多并发

import socketserver


class MyRequestHandle(socketserver.BaseRequestHandler):
    def handle(self):
        # self.request,如果是tcp协议,那么self.request=client
        # self.client_address=client_address
        while True:
            try:
                msg = self.request.recv(1024)
                if len(msg) == 0:
                    break
                self.request.send(msg.upper())
            except Exception:
                break
            self.request.close()


# 一:循环的从半连接池中取出链接请求与其建立双向链接,拿到链接对象
s = socketserver.ThreadingTCPServer(('127.0.0.1', 8888), MyRequestHandle)
s.serve_forever()

# 等同于
# while True:
#     client, client_address = server.accept()
#     启动一个线程(client, client_address)

# 二:拿到链接对象,与其进行通信循环
# handle对象放的是客户端对象与客户端地址

 

posted @ 2020-07-24 17:03  Norni  阅读(99)  评论(0编辑  收藏  举报