import os import sys import json import socket import prot_codec as pc # 定义服务器和客户端 # device: # server # client # 定义操作类型 # option: # connect # disconnect # data # login _tcp_server=None _tcp_client=None class tcp_target(object): def __init__(self,tcp_handler:socket): self.handler=tcp_handler self.state="idle" def recv_handler(self,recv_data:bytearray): global _tcp_client global _tcp_server cmd,data=pc.decode(recv_data) print(cmd.decode('utf-8')) j=json.loads(cmd) if(j["device"]=="client"): if(j["option"]=="login"): if(_tcp_client is not None): _tcp_client.close() _tcp_client=self.handler else: if(_tcp_server is not None): _tcp_server.send(recv_data) if(j["device"]=="server"): if(j["option"]=="login"): if(_tcp_server is not None): _tcp_server.close() _tcp_server=self.handler else: if(_tcp_client is not None): _tcp_client.send(recv_data)