Under Windows 10
If I try to start tvnserver whereas a client is connected, it takes a long time (about 2 minutes).
The problem is in the RfbClient::disconnect method, which calls :
The application is blocked for 2 minutes in the RfbDispatcher::execute() method, in m_gate->read call, which calls recv on the client socket.
Problem is the following one :
If I call closesocket instead, it unblocks the recv call, but I have no mean to do this without modifying your code.
Moreover, if I call closesocket on the socket wrapped by IPSocketV4, IPSocketV4 should be deleted in your logic.
Thanks