Typical network socket timeout

There is no such thing as a "typical" socket timeout. Rather you should chose the timeout(s) according to the application requirements. Issues such as:

  • Is there a user waiting for the response?
  • Is a timeout a likely event?
  • Does setting a "too long" timeout tie down lots of resources, or delay processing?
  • Does setting a "too short" timeout result in wasted processing when waiting a bit longer would have given results?
  • Is there a keep-alive mechanism ... so that you can distinguish between (say) network failure and the remote server taking a long time?

The best strategy is probably to pick some intuitively sensible values, and then tune them.