I have a service which communicates through tcpListener.
Problem is when the user restarts the service – an “Address already in use” exception is thrown, and the service cannot be started for a couple of minutes or so.
Is there’s any way of telling the system to terminate the old connection so I can open a new one? (I can’t just use random ports because there is no way for the service to notify the clients what is the port, so we must depend on a predefined port)
Set the
SO_REUSEADDRsocket option before binding to the listening port. It looks like the corresponding .NET code is something like: