Fix alive

This commit is contained in:
Maxim Khomutov 2023-07-08 12:20:18 +03:00
parent 84830f9b7c
commit 5ab9295a9d

View File

@ -33,14 +33,15 @@ class Client:
def is_disconnected(self): def is_disconnected(self):
if not self.alive: if not self.alive:
return True return True
try: res = self.writer.is_closing()
keep_alive = self.socket.getsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE) if res:
if keep_alive: self.log.debug(f"Client Disconnected")
return False
except OSError:
pass
self.alive = False self.alive = False
return True return True
else:
self.log.debug(f"Client Alive")
self.alive = True
return False
async def kick(self, reason): async def kick(self, reason):
self.log.info(f"Client: \"IP: {self.addr!r}; ID: {self.cid}\" - kicked with reason: \"{reason}\"") self.log.info(f"Client: \"IP: {self.addr!r}; ID: {self.cid}\" - kicked with reason: \"{reason}\"")