如何将receiptid映射到smack中发送的消息
Posted
技术标签:
【中文标题】如何将receiptid映射到smack中发送的消息【英文标题】:how to map receiptid to sent message in smack 【发布时间】:2014-07-12 16:01:26 【问题描述】:我正在使用 asmack 从客户端发送消息。我正在使用 xmppconnection.send 发送消息并添加了此 DeliveryReceiptManager.addDeliveryReceiptRequest(msg);
发送前。 在传递消息时,我添加了一个监听器
DeliveryReceiptManager.getInstanceFor(connection).addReceiptReceivedListener(new ReceiptReceivedListener()
@Override
public void onReceiptReceived(String arg0, String arg1, String arg2)
我在其中得到receiptid,
我想知道如何将此receiptid 映射到发送消息。
【问题讨论】:
【参考方案1】:third argument of the onReceiptReceived
callback 是接收 ID,它是接收到的数据包的节/消息 ID,即。这张收据的用途。
您可以通过Packet.getPacketID()
获取消息ID
【讨论】:
【参考方案2】:通过添加请求并从 msg.getPacketId() 我得到数据包 ID,我会在收到时检查它。
DeliveryReceiptManager.addDeliveryReceiptRequest(msg);
System.out.println("packetid:"+msg.getPacketID());
connection.sendPacket(msg);
【讨论】:
以上是关于如何将receiptid映射到smack中发送的消息的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Smack Android 库将 XMPP IQ 节发送到服务器?