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