I’m not a TCP/IP expert by any means so take this with a grain of salt. But my thoughts is that it could be a firewall timeout that could go something like this:
1) You have a valid TCP/IP connection.
2) The firewall times out but neither the sending or receiving side get a TCP/IP disconnect.
3) You stop the Qvdx thread but the receiving system doesn’t get the disconnect message because of the firewall timeout.
4) You start the thread again but the receiving system doesn’t accept your connection because it thinks it already has an open TCP/IP connection on that port because it never got the TCP/IP disconnect.
5) Everything sinks up fine again when you cycle the receiving systems interface.
I’ve run into something like this before with sending messages to an Open VMS system.