gpt4 book ai didi

java - 简单的消息协议(protocol)如何运作?

转载 作者:行者123 更新时间:2023-12-01 12:20:08 28 4
gpt4 key购买 nike

我很困惑简单的消息协议(protocol)是如何工作的。我了解三向握手校验和等基础知识,但从实现的角度来看,我如何知道我正在阅读的内容是否是我应该阅读的内容?

当我编写一个线程来读取套接字的输入流时,有任何保证吗?我发送的每条消息是否都应该包含前一条消息中描述的 ID,以便我知道我正在按顺序接收它们?如何检测消息何时丢失(例如最后一条消息),以便我不会等待一条永远不会到来的消息(我应该使用简单的超时)?

有关搜索内容的提示也会很有帮助!

最佳答案

TCP 套接字保证数据包按正确的顺序到达。如果您查看 TCP 数据包的 header ,您会注意到它们有一个序列号。如果您要通过 UDP 重新实现 TCP,您将需要自己提供其中一些功能。

您不需要检测消息是否丢失(收到 1 和 3,但未收到 2)。

但是套接字可能会意外关闭。如果计算机离线,那么您将不会收到任何其他数据包,也没有时间发送警告。 Ping/Pong 消息通常用于确保两端仍在通信。超时是您的另一种选择。

您正在谈论诸如TCP之类的协议(protocol)吗? (很好的低水平读物)?

或者您正在构建聊天协议(protocol)? XMPP可能对您来说是一本不错的读物。

关于java - 简单的消息协议(protocol)如何运作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26726031/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com