MCPcopy Create free account
hub / github.com/OpenGVLab/HumanBench / MsgServer

Class MsgServer

PATH/core/msg_server.py:17–65  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

15parser.add_argument('--timeout', type=int)
16
17class MsgServer(object):
18 def __init__(self, server_ip, server_port):
19 self.init_chat()
20 self.send('server chat logged in!')
21 self.start_server(server_ip, server_port)
22
23 def init_chat(self):
24 itchat.auto_login(enableCmdQR=2)
25
26 def send(self, msg, echo=True):
27 if echo:
28 print(msg)
29 itchat.send(msg, toUserName='filehelper')
30
31 def worker_thread(self, conn, addr):
32 conn.settimeout(args.timeout)
33 if conn is not None:
34 self.send('job connected! [{}]'.format(addr))
35 else:
36 self.send('none connection!')
37 return -1
38
39 while(True):
40 try:
41 recv_data = conn.recv(1024)
42 except socket.timeout as e:
43 print('no msg...')
44 else:
45 msg_len = len(recv_data)
46 if msg_len == 0:
47 self.send('connection break, waiting for other connections..')
48 break
49 self.send(str(recv_data, encoding = 'utf-8'))
50 conn.close()
51
52 def start_server(self, server_ip, server_port):
53 ip_port = (server_ip, server_port)
54 s = socket.socket()
55 s.bind(ip_port)
56
57 # dump ip/port info to file
58 with open('server.txt', 'w') as f:
59 f.write('{} {}\n'.format(server_ip, server_port))
60
61 s.listen()
62 self.send('server listening on {}, waiting for job connection...'.format(server_ip))
63 while(True):
64 conn, addr = s.accept()
65 threading.Thread(target=self.worker_thread, args=(conn, addr)).start()
66
67class MsgClient(object):
68 def __init__(self, server_ip, server_port):

Callers 1

msg_server.pyFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected