我对FIX 协议在 TCP 上的实现特别感兴趣,但我很高兴更广泛地讨论这个问题。
假设客户端向服务器发送 TCP 段,并且涉及的一些 IP 数据包丢失。然后对于没有完全到达的 TCP 段,客户端将不会收到 ACK。现在通常这是客户端在超时时间过后重新传输 TCP 段的提示。
现在让我们假设客户端最终决定不发送那些丢失的 TCP 段。服务器正确接收到的不完整的段集会发生什么?
服务器是否希望最好,并假设最终丢失的段会到达?是否存在超时,服务器从其缓冲区中清除不完整的信息?如果是这样,一般是多长时间超时?
TCP Keep-alive 在 RFC-1122 ( http://www.rfc-editor.org/std/std3.txt ) 的4.2.3.6 节中讨论。
如果没有keepalive 重传,TCP 连接可以无限期地保持打开状态,而无需交换任何段。如果连接实际上已死,则通常直到一方尝试发送新数据并出现超时或 ICMP 错误时才会发现这种情况。
| 归档时间: |
|
| 查看次数: |
1295 次 |
| 最近记录: |