我在无线和3g网络中使用原始套接字 客户端连接的服务器在我测试时24/7全天候运行 但是实现了connect(),以便在考虑停机时间时超时。
我遇到的问题是,connect()需要很长时间(超过5秒或10秒)无线或3g。
对于有线连接(与我正在测试的无线网络在同一网络中:有线和无线在家中的路由器后面),connect()几乎立即完成。
我正在测试connect()的服务器有来自家庭网络的4-5ms延迟
并且服务器没有采取任何其他连接请求而不是我的(它只是一个测试服务器)
服务器正在运行linux(debian)。我使用的API是bsd套接字。
- 编辑 -
在使用3g进一步测试时,只要客户端第一次连接,就会发生慢速连接
因此,当客户端第一次连接时,它很慢,如果他在少于一定的持续时间(例如1分钟)内断开并再次连接,则连接快速完成。
但是,如果客户端在长时间暂停(10分钟)后断开连接并重试连接,则连接速度将再次变慢。
我怀疑它与“路由到ip”有关..