Replies: 1 comment
-
This is a non-issue. I was emitting a |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hello there,
I've got a concern about being able to immediately and forcibly disconnect a rogue client (one that doesn't care about WS standards and packets sent to it -- merely wants to tie up server resources. DOS maybe?).
It seems to me that even if I grab the socket myself and try to close it by calling
my_async_server._get_socket(sid).close(wait=False, abort=True)
, the call is passed to theasgi
handler and the socket is not actually disconnected immediately.Further, looking at the wireshark captures, it seems any message I send after that "disconnect" attempt are still ACK'd at a socket level until about 30s later when the connection finally closes with a
FIN ACK
(which I can only imagine is the failsafe disconnect from the ping/pongs failing)I believe the issue stems from this
writer
loop not breaking until the queue is empty, though this is reaching the limit of my research. Seems like there should be a way to jump tows.close()
immediately.python-engineio/src/engineio/async_socket.py
Lines 192 to 207 in 6650be6
Thanks!
Beta Was this translation helpful? Give feedback.
All reactions