Subject: | UDP server fails after responding to packet from now-closed port |
This issue happens only on Windows, and only when both the server and client are on the same Windows machine (but not necessarily on the same interfaces).
When this package is used to create a UDP server, and receives datagrams from UDP clients which close their UDP ports immediately after sending (i.e. before the server can respond), there is *no error* when sending (as is expected); however, the next time a receive is attempted, a fatal error occurs with the message "Couldn't recv: An existing connection was forcibly closed by the remote host". Moreover, the event loop hangs afterwards.
This makes absolutely no sense, as UDP doesn't have connections. That appears to be the error text for "ECONNRESET", and googling "windows udp ECONNRESET" suggests that Windows alone will spuriously produce ECONNRESET when the previous sendto failed. I'm not sure why it only happens when the client & server are on the same machine here.
However this shouldn't close the UDP socket, and it shouldn't be fatal.