XMPP 聊天发送/接收消息同步

Posted

技术标签:

【中文标题】XMPP 聊天发送/接收消息同步【英文标题】:XMPP chat sent/received message synchronization 【发布时间】:2009-11-11 13:45:11 【问题描述】:

场景:我正在尝试开发一个具有聊天小部件的网站。我使用 ASP.NET、C#、agsXMPP 库作为实现此目的的工具。我使用 Openfire jabber 服务器作为 XMPP 服务器。

问题:当我访问网站上的小部件并开始聊天时,我发送了一条消息类型为“chat”和thread消息放。在这种情况下,我在客户端上收到此消息 Spark。当我回复此消息时,我看到 thread 值与我发送的不一样?根据RFC 3921 section 2.1.2.3,元素的值由发件人生成,应该在任何回复中复制回来。 但是,我没有看到这种情况发生。这意味着,我无法将响应与我发送的消息联系起来。

谁能帮我解决我所缺少的问题?以下是发送和接收的消息。

已发送消息<message type="chat" to="saurabh@127.0.0.1/spark" id="agsXMPP_6" from="gantir@127.0.0.1/CPWebchat"><thread>d6ddeebe-f23f-4854-a315-2a9de32906b8</thread><subject>Ramjee Ganti</subject><body>An Anonymous user via the web is attempting to contact you. Name: Ramjee Ganti Email: xxx@example.com Issue: Sample Test</body></message>

收到消息<message id="BTqN4-34" to="gantir@127.0.0.1/CPWebchat" from="saurabh@127.0.0.1/spark" type="chat"><body>Hello</body> <thread>42MtKq</thread><x xmlns="jabber:x:event"><offline/> <composing/></x></message>

【问题讨论】:

【参考方案1】:

RFC 说“线程”元素应该(参见https://www.rfc-editor.org/rfc/rfc2119)在回复中返回。可能是这个客户端没有实现它。

【讨论】:

感谢您,我之前没有检查 RFC 关键字的使用情况。可能就是这样。

以上是关于XMPP 聊天发送/接收消息同步的主要内容,如果未能解决你的问题,请参考以下文章

XMPP facebook 聊天权限与 PHP

Facebook 聊天 API - XMPP 输入暂停通知

如何使用 samck API、XMPP 接收聊天室消息

如何在 ios 中使用 XMPP 接收离线消息

如何使用聊天客户端未接收到的 slimXMPP 发送一些数据?

在不开始聊天的情况下发送 XMPP 消息