Compare commits
4 Commits
6ef3f58d73
...
1211ca2029
| Author | SHA1 | Date | |
|---|---|---|---|
|
1211ca2029
|
|||
|
5024862165
|
|||
|
6f5fa33a12
|
|||
|
f0eeeb79a1
|
@@ -123,7 +123,10 @@ class BackendServer:
|
||||
sock (socket.socket): The client socket to disconnect.
|
||||
"""
|
||||
self.logger.info(f"[-] Disconnecting {client}")
|
||||
self.selector.unregister(client.socket)
|
||||
try:
|
||||
self.selector.unregister(client.socket)
|
||||
except Exception as e:
|
||||
self.logger.error(f"Error unregistering client {client}: {e}")
|
||||
client.disconnect()
|
||||
|
||||
def _handle_connection(
|
||||
@@ -168,9 +171,13 @@ class BackendServer:
|
||||
|
||||
client.outbound = client.outbound[sent:]
|
||||
# TODO: wait for ACK from client
|
||||
|
||||
except ConnectionResetError as e:
|
||||
self.logger.error(f"Connection reset by {client}, disconnect: {e}")
|
||||
self._disconnect(client)
|
||||
except Exception as e:
|
||||
self.logger.error(f"Connection error for {client}: {e}")
|
||||
self._disconnect(client)
|
||||
|
||||
def run(self) -> None:
|
||||
"""Start the backend server."""
|
||||
@@ -190,6 +197,8 @@ class BackendServer:
|
||||
self._accept_connection(key.fileobj)
|
||||
else:
|
||||
self._handle_connection(key, mask)
|
||||
time.sleep(0.001) # prevent 100% CPU usage
|
||||
|
||||
except Exception as e:
|
||||
self.logger.error(f"Server error: {e}")
|
||||
raise e
|
||||
|
||||
4
uv.lock
generated
4
uv.lock
generated
@@ -319,8 +319,8 @@ wheels = [
|
||||
|
||||
[[package]]
|
||||
name = "judas-protocol"
|
||||
version = "0.1.0"
|
||||
source = { git = "https://gitea.pufereq.pl/judas/judas_protocol.git#fd070b176347a0f7b81f937b189d8f50736f3514" }
|
||||
version = "0.2.0"
|
||||
source = { git = "https://gitea.pufereq.pl/judas/judas_protocol.git#bc1bf46388eb904738893a2f86b5050b4ce2489e" }
|
||||
|
||||
[[package]]
|
||||
name = "judas-server"
|
||||
|
||||
Reference in New Issue
Block a user