I have a Windows Service that communicates with a server and acts as a proxy between clients and the real server. The client data is sent to the server and server's data back to the client. The above two are totally independent as they run on separate thread.
Following are the steps:-
- Socket accepted by listener
- Thread 1 - Receives data from server and sends it to the client
- Thread 2 - Receives data from the client and sends it to the server
This goes on continuously for hours without a problem on the local network( If the clients and server are on the same machine or same local network)
The problem comes when the client is on a different network. My server is listening on a Win2003 server and has a public IP. When the client tries to connect to this server using the public IP + Port, the connection is made but it is soon dropped and a SocketException (10053 - connection aborted by software on this machine) is thrown. There is no anti-virus client running on this machine and windows firewall is off.
**Updated
The service is running on client server and I am not very sure about any other firewall. The service runs fine on my Win2003 server with clients on my network but gives problems on a different server with clients on a different network.