【问题标题】:TCP sending segments timeoutTCP 发送段超时
【发布时间】:2012-08-16 11:34:23
【问题描述】:

我正在做一个项目,使用 C 的服务器需要向客户端发送心跳以检查其状态(使用 tcp 套接字),我想知道服务器端程序如何检测客户端是否崩溃。

确切地说,在建立tcp连接后,当服务器向客户端发送一个段时,它需要得到一个ack回复,如果客户端崩溃了,一遍又一遍地重新传输这个段怎么办?我该如何处理这种情况,谁能给我一个例子?

谢谢。

【问题讨论】:

  • 你可以尝试相反的方法。让客户端向服务器发送请求以获得 ack 回复。

标签: sockets tcp


【解决方案1】:

当您设计要在项目中使用的协议时,您可以按照自己喜欢的方式进行。通常,一方每 X 秒向另一方发送一条消息,另一方发送回复。如果未发送消息的一方在 Y 秒内没有收到消息(其中 Y 大于 X),则假定连接已断开。

基本上,如果您正在设计基于 TCP 的协议,您可以按照您想要的任何方式执行此操作。请记住,TCP 不会为您执行此操作。

【讨论】:

    猜你喜欢
    • 2013-07-26
    • 2021-04-05
    • 1970-01-01
    • 2019-04-03
    • 2013-12-31
    • 2013-02-25
    • 2013-07-21
    • 1970-01-01
    • 2012-12-20
    相关资源
    最近更新 更多