start listening before accepting clients.

To prevent gaps between calls to start() and clients' connecting.
This commit is contained in:
Yuxin Wang 2018-09-30 10:11:45 -04:00
parent b161e1dff5
commit 9b6ddc1940

View file

@ -17,13 +17,13 @@ class MessageServer:
self._decompressor = zstd.ZstdDecompressor()
def start(self):
self._sock.listen(5)
logger.info('Start listening on {}'.format(self._sock.getsockname()))
# put server listening into a thread
threading.Thread(target=self._listen).start()
self._server_started()
def _listen(self):
self._sock.listen(5)
logger.info('Start listening on {}'.format(self._sock.getsockname()))
while True:
client, address = self._sock.accept()
logger.info('New connection from {}'.format(address))