From 5ab9295a9dd18ab1210784ab9b9e290fa6bf88e6 Mon Sep 17 00:00:00 2001 From: SantaSpeen Date: Sat, 8 Jul 2023 12:20:18 +0300 Subject: [PATCH] Fix alive --- src/core/core.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/core/core.py b/src/core/core.py index f36cbf2..b0808e2 100644 --- a/src/core/core.py +++ b/src/core/core.py @@ -33,14 +33,15 @@ class Client: def is_disconnected(self): if not self.alive: return True - try: - keep_alive = self.socket.getsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE) - if keep_alive: - return False - except OSError: - pass - self.alive = False - return True + res = self.writer.is_closing() + if res: + self.log.debug(f"Client Disconnected") + self.alive = False + return True + else: + self.log.debug(f"Client Alive") + self.alive = True + return False async def kick(self, reason): self.log.info(f"Client: \"IP: {self.addr!r}; ID: {self.cid}\" - kicked with reason: \"{reason}\"")