我们有TCP连接。
我不指望确切的数据 - 估计就足够了。
答案 0 :(得分:3)
1)没有。
2)一段时间。试试看吧。粗略估计,从另一端ping一端并加倍。
3)试试吧。这取决于带宽,更重要的是延迟。这些变化范围很广。通常,保持连接打开会更快,速度更快。以秒为间隔的256字节?我会保持连接打开,特别是在可能具有高延迟的路径上(例如,洲际)。
答案 1 :(得分:2)
1。根据TCP / IP标准,什么都没有。但是,根据网络条件和任何中间件(NAT设备,防火墙等),可能会丢弃没有数据通过的连接。这可能是一个staic超时(例如两分钟,或十分钟,或一小时),或者它可能基于某个设备中最近最少使用的表。
2。这取决于很多因素,最大的延迟可能来自客户的本地网络而不是洲际连接。然而,点之间的地球表面约为40光毫秒,因此(没有TCP快速打开)第一个数据包从客户端到服务器的时间为120毫秒,响应时为40毫秒,80比活动连接中的ms多。
3. 假设没有损坏的中间件,最好保持连接打开。但是,从“静默删除”连接中恢复的延迟可能比打开新连接的时间长得多;它可能适合客户端管理自己的超时(大约一秒左右),并打开一个新连接并重试最后一条消息,如果它还没有得到响应。取决于你发送的东西;事务性消息可能比syslog的远程副本更值得显式快速重试。