3
我有一个使用winsock连接到服务器的C++程序,用户需要定期在很长时间(可能几周内不需要重新连接)将数据发送到此服务器。winsock连接持续多久?
建立连接时,我发现了很多有关超时的文档,但我试图找出建立连接后持续多久。直到任一程序关闭,连接是否持续?我可以连接,然后等待两个小时发送一些东西?
我有一个使用winsock连接到服务器的C++程序,用户需要定期在很长时间(可能几周内不需要重新连接)将数据发送到此服务器。winsock连接持续多久?
建立连接时,我发现了很多有关超时的文档,但我试图找出建立连接后持续多久。直到任一程序关闭,连接是否持续?我可以连接,然后等待两个小时发送一些东西?
没有明确的连接生存期限制(至少在TCP中)。连接持续到下列之一:
在“现实世界”的互联网连接通常会在一段时间后强行关闭,特别是如果没有数据发送。除此之外,根据协议,有些服务器拒绝将连接保持打开状态(例如http服务器)。
总之:没有通用的方法来发现连接的生命周期。您完全掌握防火墙,代理(如果适用)和代表服务器。
定期发送一些数据(如保持活动消息)通常会有所帮助。它也有助于检测到连接已被静默终止。
只要网络保持运转,当然。 – 2012-03-08 19:02:25
直到下一个'补丁星期二':)如果没有“关键安全更新”,连接可能会永远保持打开状态,就像@BrianRoach所说。 – 2012-03-09 00:22:22