I have a client/sever application that communicates using HTTP. The server is on the other side of the Earth from some of the clients. The traffic that the server and client communicate is very low bandwidth.
At night the connections work reasonably well, not great, from anywhere on the planet but during the day the overseas links work poorly. Only the users living within the country are able to connect and all the others get TCP timeouts, retransmits, etc. I think that it's because of increased network traffic at peak hours causing latency.
Relocating the server is an expensive option. I'd like to provide a convenient solution for my users running the client without requiring them to reconfigure Windows timeouts, etc. I thought that one solution might be to have a proxy near the users that can accept the TCP connection and be more patient when connecting to the server. Or maybe switch to UDP. (UDP would be a pain, however.)
Maybe I have it all wrong? What can cause HTTP connectivity to be good from around 0:00UTC until 9-11 UTC and then be flaky the rest of the day? In Wireshark I see many duplicate ACKs, TCP retransmissions, lost segments, etc. Clients in the same country as the server don't complain. I've tested connecting to my server locally and via some online web proxies (hidemyass.com) and the former always works while the latter depends on time of day.
Edit: I switched from port 8080 to port 80 for the HTTP traffic and it seems to have helped! Is it possible that one of the routers along the way is treating port 80 traffic differently from port 8080? I also tried port 81, it also gets poor connectivity. Has anyone ever heard of something like this?