[英]How does ejabberd handle message ordering and delivery?
根据https://datatracker.ietf.org/doc/rfc6120/?include_text=1和10.1。 有序处理如何确保名册中所有项目的有序消息传递?
首先,由于 XMPP 使用 TCP 传输协议,它确保服务器以与客户端发送数据相同的顺序接收数据。
根据 TCP 文档:
TCP 保证数据的传递,也保证数据包将按照发送时的相同顺序传递
ejabbred 是一个 XMPP 服务器,通过 TCP 接收到的原始数据必须符合 XMPP 协议,并且与经过验证的 XMPP 服务器相同。
在XMPP协议客户端完成session发起、资源绑定、认证等操作后,就可以发送消息了。
这些消息按照客户端发送消息和路由到其接收者的顺序进行处理。 如果收件人离线,它会将相同的订单推送并弹出到数据库以供以后交付。
这里的订购保证主要由 TCP 网络堆栈来保证。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.