As far as i know in reverse connection the client opens the port that the server connects to. Thus, simply i just do the bind() & listen() in clients' source code, and do connect() in the server's source code.
So the client keeps listening lets say on port 5563, and once a user clicks the server.exe on his/her machine, client gets a notification message that a server got connected to it, then you can make the client send orders & requests to the server & server responses with results. If user disconnect the internet, the server gets disconnected from the client & the client gets message that server is disconnected....
Thats how i understand reverse connection....Is thats right?