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 聊天发送/接收消息同步的主要内容,如果未能解决你的问题,请参考以下文章