class Login: def __init__(self, user=1, pwd=b'123', host="61.151.180.166", port=8000): host = "61.151.180.158" self.tool = Tool() self.md2 = self.tool.md5(user, pwd) self.user = User(self.md2) self.host = self.tool.get_host_by_name(host) self.port = port self.udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) self.sendPacket = b'' self.address = (host, port) print(self.address) def get_md2(self): return self.md2 def set_value(self, key, value=b''): if hasattr(self, key): #v = getattr(self,key,None) setattr(self, key, value) else: print('no', key) def start_fill(self, key=None): pro = TXProtocol() sp = b'' # sendPacket if key != None: if type(key) != bytes: raise RuntimeError('key must bytes') pro.set_value("SecretKey", key) #pro.set("", ) sp += pro.fill_login_head() sp += pro.fill_login_encrypt() sp += pro.fill_login_end() self.sendPacket = sp return sp def send_0825(self): self.start_fill() print("发送包", self.sendPacket) try: pack = Tool.hexs_to_int(self.sendPacket) # print(pack) #self.udp_socket.sendto(pack,self.address) #one_thr = threading.Thread(target = self.get_0825) #one_thr.start() data = self.udp_socket.recv(2048) print("data", data) except BaseException: print("Error") def get_0825(self): print("get_0825") while True: print("get_0825_2048_START") data = self.udp_socket.recv(2048) print(data) print("get_0825_2048_END")