I think a resonable timeout upper limit is 20 secs. Most of the application, including the connect() api, (although it can be changed) waits for 20 secs. Depending on the application for which we are building, this can be reduced. For a simple normal application I guess some 3-5 secs as time-out would be sufficient.