1

我试图了解 AMQP 和 XMPP 之间的区别,除此之外,我真的不明白 XMPP 是否像队列一样工作。当您向各种客户端发送消息时,如果其中一个客户端出现故障会发生什么情况?服务器将消息排入队列,直到客户端再次启动,或者它是如何工作的?

谢谢

4

1 回答 1

2

当 JID 离线时,如何处理消息和 iq 取决于 XMPP 服务器实现。RFC 3921 第 11.1 节

否则,如果 JID 是表单并且没有与用户关联的可用资源,则如何处理节取决于节类型:

...

对于消息节,服务器可以选择代表用户存储节并在用户下次可用时将其传送,或者通过其他方式(例如,到用户的电子邮件帐户)将消息转发给用户。但是,如果未启用离线消息存储或消息转发,则服务器必须向发送者返回一个节错误。(注意:离线消息存储和消息转发在 XMPP 中没有定义,因为它们严格来说是实现和服务供应的问题。)

对于 IQ 节,服务器本身必须代表用户回复 IQ 结果或 IQ 错误。具体来说,如果限定名称空间的语义定义了服务器可以提供的回复,则服务器必须代表用户回复该节;如果不是,服务器必须回复一个节错误。

于 2012-05-13T12:22:58.093 回答