【发布时间】:2014-04-07 07:22:09
【问题描述】:
您好,我正在创建一个 Android 应用程序作为 XMPP 客户端到 ejabbered 服务器。
但我真的很困惑,因为我看到我可以将消息作为数据包或消息发送,也可以使用PacketListener 和MessageListener 接收消息。
PacketListener 和MessageListener 之间有什么区别,接收消息的好方法是什么?使用数据包监听器还是消息监听器?
【问题讨论】:
您好,我正在创建一个 Android 应用程序作为 XMPP 客户端到 ejabbered 服务器。
但我真的很困惑,因为我看到我可以将消息作为数据包或消息发送,也可以使用PacketListener 和MessageListener 接收消息。
PacketListener 和MessageListener 之间有什么区别,接收消息的好方法是什么?使用数据包监听器还是消息监听器?
【问题讨论】:
MessageListener 只监听与消息相关的包,而 PacketListener 监听各种类型的包,可能包括消息相关的包,订阅相关的包,邀请相关的包,如果没有,它可能会监听服务器发送的所有 xml 包应用过滤器。您还可以添加过滤器来过滤特定的数据包。它还用于处理自定义数据包和编写自定义 XMPP 扩展
【讨论】:
MessageListener 是一个高级接口,仅用于处理消息,PacketListener 是更复杂的“工具”,用于匹配和处理自定义数据包以及编写自定义 XMPP 扩展。如果 MessageListener 适合您的需求 - 请使用它们。
【讨论】: