I have a client/server TCP .Net application. I am getting exceptions on NetStream.Read or Write operations, no data received, if there is a delay of about 10 minutes or longer.
The client app contacts the server. The client may send blobs (many reads and writes back and forth for each blob) of data to the server. The server may then send blobs of data back to the client. There can be a processing delay before each sent blob. Everything works with even large blobs going back and forth. The problem occurs when the processing delay before starting to send a blob becomes around 10 minutes. For example: Connect, client sends a blob, server process for about 10 minutes, server tries to send a blob, error on first TCP write (read error on first TCP read on client). This problem does not occur if the client and server are on the same LAN. It only occurs when a client outside of the LAN connects through the Router via port forwarding to the server.
Is there some kind of router timeout setting I should be considering? Or maybe an "idling" parameter to tell the TCP connection to stay active for long periods of time?