【发布时间】:2018-09-03 12:01:58
【问题描述】:
您如何检查消息是否已到达目的地,我想出了一个解决方案,但由于我不是此类主题的专业人士,我想知道其他一些方法。 我的解决方案是(客户端)发送数据包,如果在超时时间内没有收到确认,则再次发送,(服务器端)如果收到的消息是正确的发送确认,如果在另一端没有收到则再次发送. 这是该算法的示意图, Picture。 简而言之,双方发送消息两次。 还有其他想法吗?
【问题讨论】:
-
为什么不使用自动发送ACK的TCP
-
基于 TCP 的通信能够发回响应以验证消息已传递。对于你的情况,我会使用 TCP 而不是 UDP
-
它想制作一个 API 来在不同的项目(例如实时游戏或流媒体)中实现它,而不需要同时使用 TCP 和 UDP,而只是使用诸如 WaitForFeedback 之类的变量来实现如果有时间紧迫的信息,请告知。