From 6f50c56a4c5bb5c4ad09629407f5a03747523e44 Mon Sep 17 00:00:00 2001 From: Artyom Kornikov / nGragas <66574145+Rush-iam@users.noreply.github.com> Date: Tue, 19 Jul 2022 00:16:31 +0300 Subject: [PATCH] Python starter bot - fixed bot freeze after 2+ rounds timeout (#9) --- starter-bot-python/client/socket_session.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/starter-bot-python/client/socket_session.py b/starter-bot-python/client/socket_session.py index d1e7448..b105ba1 100644 --- a/starter-bot-python/client/socket_session.py +++ b/starter-bot-python/client/socket_session.py @@ -4,6 +4,7 @@ class SocketSession: _buffer_size = 8192 + _timeout_move = 'move\noffset 0 0\nend\n' def __init__(self, host: str, port: int): self.socket = socket.socket() @@ -25,12 +26,13 @@ def read(self) -> list[str]: if len(self.buffer) > 0: logging.warning('skipping round, seems like your bot had timed out') + self.write(self._timeout_move) return self.read() return data.decode().split('\n') def _find_end_index(self) -> int: - return self.buffer.find(b'end\n', len(self.buffer) - self._buffer_size) + return self.buffer.find(b'end\n', len(self.buffer) - self._buffer_size - 4) def write(self, data: str) -> None: self.socket.sendall(data.encode())