Hi Nihisil,
thank you so much for developing this repo, when I used it to play an online match(with my little dumb AI), it seems encountered a bug described in the title, here are some logs:
2017-01-17 16:50:33 DEBUG: Send: <Z />
2017-01-17 16:50:33 DEBUG: Send: <NEXTREADY />
2017-01-17 16:50:35 DEBUG: Get: <INIT seed="3,0,0,2,5,82" ten="350,158,334,158" oya="1" hai="119,77,68,116,4,37,71,74,73,90,64,66,132"/> <U/>
2017-01-17 16:50:35 INFO: Round: 3, Honba: 0, Dora Indicators: [82]
2017-01-17 16:50:35 INFO: Players: [NoName (35,000), 上野あいみ (33,400), no_D (15,800), 紅稀 (15,800)]
2017-01-17 16:50:35 INFO: Dealer: no_D (15,800)
2017-01-17 16:50:35 INFO: Round wind: East
2017-01-17 16:50:35 INFO: Player wind: North
2017-01-17 16:50:41 DEBUG: Get: <E114/>
2017-01-17 16:50:42 DEBUG: Get: <N who="2" m="44139" />
2017-01-17 16:50:42 INFO: Meld: pon, who 2
2017-01-17 16:50:44 DEBUG: Get: <F3/> <W/>
2017-01-17 16:50:46 DEBUG: Get: <G121/> <T54/>
2017-01-17 16:50:47 INFO: Hand: 2m158899p1125s337z
2017-01-17 16:50:47 DEBUG: Send: <D p="132"/>
2017-01-17 16:50:47 INFO: Remaining tiles: 67
2017-01-17 16:50:48 DEBUG: Send: <Z />
2017-01-17 16:50:48 DEBUG: Get: <D132/> <U/>
2017-01-17 16:50:49 DEBUG: Get: <E123/> <V/>
2017-01-17 16:50:53 DEBUG: Get: <F60/>
2017-01-17 16:50:58 DEBUG: Get: <W/>
2017-01-17 16:50:59 DEBUG: Get: <G124/> <T63/>
2017-01-17 16:51:00 INFO: Hand: 2m1578899p1125s33z
2017-01-17 16:51:00 DEBUG: Send: <D p="37"/>
2017-01-17 16:51:00 INFO: Remaining tiles: 63
2017-01-17 16:51:01 DEBUG: Get: <D37/> <U/>
2017-01-17 16:51:02 DEBUG: Get: <E34/> <V/>
2017-01-17 16:51:03 DEBUG: Send: <Z />
2017-01-17 16:51:03 DEBUG: Get: <F135/> <W/>
2017-01-17 16:51:08 DEBUG: Get: <G133/> <T81/>
2017-01-17 16:51:09 INFO: Hand: 2m578899p11235s33z
2017-01-17 16:51:09 DEBUG: Send: <D p="4"/>
2017-01-17 16:51:09 INFO: Remaining tiles: 59
2017-01-17 16:51:10 DEBUG: Get: <D4/>
2017-01-17 16:51:11 DEBUG: Get: <U/>
2017-01-17 16:51:12 DEBUG: Get: <E32/> <V/>
2017-01-17 16:51:13 DEBUG: Get: <F127/> <W/>
2017-01-17 16:51:16 DEBUG: Get: <G107/> <T16/>
2017-01-17 16:51:17 INFO: Hand: 5m578899p11235s33z
2017-01-17 16:51:17 DEBUG: Send: <D p="16"/>
2017-01-17 16:51:17 INFO: Remaining tiles: 55
2017-01-17 16:51:18 DEBUG: Send: <Z />
2017-01-17 16:51:18 DEBUG: Get: <D16/> <U/>
2017-01-17 16:51:20 DEBUG: Get: <E98/> <V/>
2017-01-17 16:51:22 DEBUG: Get: <F101/>
2017-01-17 16:51:23 DEBUG: Get: <W/>
2017-01-17 16:51:24 DEBUG: Get: <G36/> <T91/>
2017-01-17 16:51:25 INFO: Hand: 578899p112355s33z
2017-01-17 16:51:25 DEBUG: Send: <D p="54"/>
2017-01-17 16:51:25 INFO: Remaining tiles: 51
2017-01-17 16:51:26 DEBUG: Get: <D54/> <U/>
2017-01-17 16:51:27 DEBUG: Get: <E131/> <V/>
2017-01-17 16:51:31 DEBUG: Get: <F27/>
2017-01-17 16:51:33 DEBUG: Send: <Z />
2017-01-17 16:51:33 DEBUG: Get: <W/>
2017-01-17 16:51:34 DEBUG: Get: <g118 t="1"/>
2017-01-17 16:51:35 DEBUG: Send: <N />
2017-01-17 16:51:36 DEBUG: Get: <T31/>
2017-01-17 16:51:37 INFO: Hand: 8m78899p112355s33z
2017-01-17 16:51:37 DEBUG: Send: <D p="31"/>
2017-01-17 16:51:37 INFO: Remaining tiles: 47
2017-01-17 16:51:38 DEBUG: Get: <D31/> <U/>
2017-01-17 16:51:39 DEBUG: Get: <E106/> <V/>
2017-01-17 16:51:41 DEBUG: Get: <F129/> <W/>
2017-01-17 16:51:44 DEBUG: Get: <g130/> <T41/>
2017-01-17 16:51:45 INFO: Hand: 278899p112355s33z
2017-01-17 16:51:45 DEBUG: Send: <D p="41"/>
2017-01-17 16:51:45 INFO: Remaining tiles: 43
2017-01-17 16:51:46 DEBUG: Get: <D41/> <U/>
2017-01-17 16:51:48 DEBUG: Send: <Z />
2017-01-17 16:51:48 DEBUG: Get: <E0/> <V/>
2017-01-17 16:51:50 DEBUG: Get: <F83/> <W/>
2017-01-17 16:51:52 DEBUG: Get: <g109/> <T65/>
2017-01-17 16:51:53 INFO: Hand: 788899p112355s33z
2017-01-17 16:51:53 DEBUG: Send: <D p="63"/>
2017-01-17 16:51:53 INFO: Remaining tiles: 39
2017-01-17 16:51:54 DEBUG: Get: <D63/>
2017-01-17 16:51:58 DEBUG: Get: <U/>
2017-01-17 16:51:59 DEBUG: Get: <e1/> <V/>
2017-01-17 16:52:00 DEBUG: Get: <f35/>
2017-01-17 16:52:03 DEBUG: Send: <Z />
2017-01-17 16:52:03 DEBUG: Get: <W/>
2017-01-17 16:52:04 DEBUG: Get: <g96/> <T89 t="32"/>
2017-01-17 16:52:05 INFO: Hand: 88899p1123555s33z
2017-01-17 16:52:05 DEBUG: Send: <REACH hai="64" />
2017-01-17 16:52:07 DEBUG: Send: <D p="64"/>
2017-01-17 16:52:07 INFO: Remaining tiles: 35
2017-01-17 16:52:08 DEBUG: Get: <REACH who="0" step="1"/>
2017-01-17 16:52:09 DEBUG: Get:
2017-01-17 16:52:10 DEBUG: Get:
2017-01-17 16:52:11 DEBUG: Get:
2017-01-17 16:52:12 DEBUG: Get:
2017-01-17 16:52:13 DEBUG: Get:
2017-01-17 16:52:14 DEBUG: Get:
2017-01-17 16:52:15 DEBUG: Get:
2017-01-17 16:52:16 DEBUG: Get:
2017-01-17 16:52:17 DEBUG: Get:
2017-01-17 16:52:18 DEBUG: Send: <Z />
2017-01-17 16:52:18 DEBUG: Get:
2017-01-17 16:52:19 DEBUG: Get:
2017-01-17 16:52:20 DEBUG: Get:
2017-01-17 16:52:21 DEBUG: Get:
2017-01-17 16:52:22 DEBUG: Get:
2017-01-17 16:52:23 DEBUG: Get:
2017-01-17 16:52:24 DEBUG: Get:
2017-01-17 16:52:25 DEBUG: Get:
2017-01-17 16:52:26 DEBUG: Get:
2017-01-17 16:52:27 DEBUG: Get:
2017-01-17 16:52:28 DEBUG: Get:
2017-01-17 16:52:29 DEBUG: Get:
2017-01-17 16:52:30 DEBUG: Get:
2017-01-17 16:52:31 DEBUG: Get:
2017-01-17 16:52:32 DEBUG: Get:
2017-01-17 16:52:33 DEBUG: Send: <Z />
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python3.4/threading.py", line 920, in _bootstrap_inner
self.run()
File "/usr/lib/python3.4/threading.py", line 868, in run
self._target(*self._args, **self._kwargs)
File "/home/hao/mahjong/tenhou-python-bot/project/tenhou/client.py", line 304, in send_request
self._send_message('<Z />')
File "/home/hao/mahjong/tenhou-python-bot/project/tenhou/client.py", line 280, in _send_message
self.socket.sendall(message.encode())
BrokenPipeError: [Errno 32] Broken pipe
2017-01-17 16:52:33 DEBUG: Get:
2017-01-17 16:52:34 DEBUG: Get:
2017-01-17 16:52:35 DEBUG: Get:
2017-01-17 16:52:36 DEBUG: Get:
2017-01-17 16:52:37 DEBUG: Get:
2017-01-17 16:52:38 DEBUG: Get:
2017-01-17 16:52:39 DEBUG: Get:
2017-01-17 16:52:40 DEBUG: Get:
2017-01-17 16:52:41 DEBUG: Get:
2017-01-17 16:52:42 DEBUG: Get:
2017-01-17 16:52:43 DEBUG: Get:
2017-01-17 16:52:44 DEBUG: Get:
2017-01-17 16:52:45 DEBUG: Get:
2017-01-17 16:52:46 DEBUG: Get:
2017-01-17 16:52:47 DEBUG: Get:
2017-01-17 16:52:48 DEBUG: Get:
2017-01-17 16:52:49 DEBUG: Get:
2017-01-17 16:52:50 DEBUG: Get:
2017-01-17 16:52:51 DEBUG: Get:
2017-01-17 16:52:52 DEBUG: Get:
2017-01-17 16:52:53 DEBUG: Get:
2017-01-17 16:52:54 DEBUG: Get:
2017-01-17 16:52:55 DEBUG: Get:
2017-01-17 16:52:56 DEBUG: Get:
2017-01-17 16:52:57 DEBUG: Get:
2017-01-17 16:52:58 DEBUG: Get:
2017-01-17 16:52:59 DEBUG: Get:
2017-01-17 16:53:00 DEBUG: Get:
2017-01-17 16:53:01 DEBUG: Get:
2017-01-17 16:53:02 DEBUG: Get:
2017-01-17 16:53:03 DEBUG: Get:
2017-01-17 16:53:04 DEBUG: Get:
2017-01-17 16:53:05 DEBUG: Get:
2017-01-17 16:53:06 DEBUG: Get:
2017-01-17 16:53:07 DEBUG: Get:
2017-01-17 16:53:08 DEBUG: Get:
2017-01-17 16:53:09 DEBUG: Get:
2017-01-17 16:53:10 DEBUG: Get:
2017-01-17 16:53:11 DEBUG: Get:
2017-01-17 16:53:12 DEBUG: Get:
2017-01-17 16:53:13 DEBUG: Get:
2017-01-17 16:53:14 DEBUG: Get:
2017-01-17 16:53:15 DEBUG: Get:
2017-01-17 16:53:16 DEBUG: Get:
2017-01-17 16:53:17 DEBUG: Get:
2017-01-17 16:53:18 DEBUG: Get:
2017-01-17 16:53:19 DEBUG: Get:
2017-01-17 16:53:20 DEBUG: Get:
2017-01-17 16:53:21 DEBUG: Get:
2017-01-17 16:53:22 DEBUG: Get:
2017-01-17 16:53:23 DEBUG: Get:
2017-01-17 16:53:24 DEBUG: Get:
2017-01-17 16:53:25 DEBUG: Get:
2017-01-17 16:53:26 DEBUG: Get:
2017-01-17 16:53:27 DEBUG: Get:
2017-01-17 16:53:28 DEBUG: Get:
2017-01-17 16:53:29 DEBUG: Get:
2017-01-17 16:53:30 DEBUG: Get:
2017-01-17 16:53:31 DEBUG: Get:
2017-01-17 16:53:32 DEBUG: Get:
2017-01-17 16:53:33 DEBUG: Get:
2017-01-17 16:53:34 DEBUG: Get:
2017-01-17 16:53:35 DEBUG: Get:
2017-01-17 16:53:36 DEBUG: Get:
2017-01-17 16:53:37 DEBUG: Get:
2017-01-17 16:53:38 DEBUG: Get:
2017-01-17 16:53:39 DEBUG: Get:
2017-01-17 16:53:40 DEBUG: Get:
2017-01-17 16:53:41 DEBUG: Get:
2017-01-17 16:53:42 DEBUG: Get:
2017-01-17 16:53:43 DEBUG: Get:
2017-01-17 16:53:44 DEBUG: Get:
2017-01-17 16:53:45 DEBUG: Get: