in reply to Timeout between client/server
It is not clear from your description, but I assume that this is a plain socket connection and not some connection on top of HTTP. In this case setting a Timeout should work, but only if there are no middleboxes in between which might affect the connections. As soon as you add devices which keep a connection state, like packet filters to do NAT, you risk that the state in the middlebox times out before the server sends the response back and thus the connection is effectively closed. Doing keep-alive at TCP or application level works around this problem.
As for the more elegant solution: it depends a lot on what you consider elegant and what kind of load and resource restrictions you have. If you only have a few connections that doing keep-alive at the TCP level (e.g. using SO_KEEPALIVE) is a cheap and simple solution. If you have instead lots of connections on the server side which need a lot of memory together you might instead use only a few short connections and instead let the client poll for results.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Timeout between client/server
by henzen (Acolyte) on Mar 03, 2015 at 17:33 UTC |