我在牛仔中使用websocket开发了一个聊天服务器,但是我想知道服务器发送的消息是否成功.我怎么知道?
rkh*_*rov 21
Websocket是传统TCP套接字之上的一个相当薄的抽象层.在初始握手之后,差异很小.所以,问题是:如何知道远程对等方是否收到了数据块?简短的回答:只有当对等方通过应用程序级协议明确地确认它时.远程客户端将为您将发送它的每个数据包发送TCP ACK数据包,但是这个事实很好地隐藏在应用程序中.仅接收ACK数据包意味着远程TCP堆栈已处理它,但没有说明客户端应用程序如何(以及如果)处理它.
在聊天协议中添加特殊的"确认接收"消息类型.在所有传出消息中包含单调递增的序列号,并在ACK消息中包含接收消息的SN,以准确了解客户端已处理的数据量.
| 归档时间: |
|
| 查看次数: |
7197 次 |
| 最近记录: |