如何知道该消息是使用XMPP framework和传递给其他用户ejabberd,我们使用XEP-0184类消息传递收据,我们发送收据请求,同时发送消息,但没有得到任何响应.
我的查询应该是我需要在服务器上配置任何内容(或ejabberd.cfg文件中的任何更改),或者我们需要做的任何客户端代码.
不,XEP-0184是纯粹的客户端协议,因此无需在服务器上进行设置.
您没有收到任何承认的原因可能是:
XEP-0184启用.根据您所使用的XMPP库(在这两个客户-发送者和接收者),发送者可以决定甚至没有要求发票,如果发现(通过查询对方的能力),它已XEP-0184关闭.
可能更清楚:XEP通常建议实现检查是否支持XEP定义的功能,如果不支持则不尝试使用它.并非所有的库和客户都这样做,但有些人这样做.这意味着某些实现可能是这样的:好的,我被要求发送送达回执请求,所以
XEP-0184启用.无论是一个特定的XMPP库做这本身取决于是如何"智能"制造.
如果XMPP Framework您的意思是这个库,请尝试阅读其源代码以查看它是否"智能"并询问对等方的大写字母,然后检查是否XEP-0184已启用.
还要检查是否可以启用客户端交换的XML流的日志记录.检查它们是调试XMPP相关问题的最佳方法.
您可以使用XEP-0022消息事件扩展来实现此目的:
这是您的消息节格式:
<message to='username@domain.com' id='msgId-21102012,12:12:11'>
<body>How are you doing?</body>
<x xmlns='jabber:x:event'>
<offline/>
<delivered/>
<composing/>
</x>
</message>
Run Code Online (Sandbox Code Playgroud)
根据接收状态,开火将响应消息事件状态。一旦查看了 XEP-022 扩展。
| 归档时间: |
|
| 查看次数: |
5281 次 |
| 最近记录: |