Socket server

Socket server的使用方法(精华部分),仅供自用.

class MyServer(socketserver.BaseRequestHandler):
    def handle(self):
        while 1:
            try:
                # 接收4位字节
                pack_length = self.request.recv(4)
                # 解包后的元祖中第一个元素
                header_length = struct.unpack("i", pack_length)[0]
                # 接收元祖中第一个元素的字节数
                header_info_json = self.request.recv(header_length)
                # 反序列化接收的字节
                global header_info
                header_info = json.loads(header_info_json.decode("utf-8"))
                # 获取操作方式
                fileaction = header_info.get("action")
                if hasattr(MyServer,fileaction):            # 获取当前文件中的函数名
                    fun =getattr(MyServer,fileaction)       # 执行当前文件中的函数
                    fun(self)                               # server_send或server_recv继承self信息,并执行函数
            except Exception as e:
                break
原文地址:https://www.cnblogs.com/ipyanthony/p/9639558.html