在 TCP 流中发送消息

2023-11-30

TCP 是基于流的,这意味着您发送的字节不一定位于“消息”中,因此接收方可能会收到一半消息或三分之二的消息。

因此,在每条消息都是固定大小的游戏中,如果我收到消息的一部分,我可以将其保留在缓冲区中,直到收到另一部分。这有点繁琐,但是还有其他基于消息的可靠协议吗?可能有,但没有像 TCP 和 UDP 那样在操作系统中实现,所以我必须使用一些库,只要它易于使用就可以。

我总是可以制定一个稍微可靠的 UDP 协议。你建议哪一个?


您可以通过 UDP 实现您自己的基于 ACK 的协议。在发送端在消息前面添加消息/序列号,并将该数字回显给接收端的发送者。在发送端为每条消息启动一个计时器,并在收到相应的 ACK 后取消计时器。如果计时器弹出,请重新发送消息。

XMPP 对于这个应用程序来说太重了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 TCP 流中发送消息 的相关文章

随机推荐