你好,我正在创建一个 Android 应用,作为 ejabbered 服务器的 XMPP 客户端。
但是我非常困惑,因为我发现我可以将消息发送为数据包或消息,同样我也可以使用 PacketListener
和 MessageListener
来接收消息。
PacketListener
和 MessageListener
有什么区别?哪种方式更适合接收消息?使用 packet listener 还是 message listener?
MessageListener只监听与消息相关的数据包,而PacketListener则监听所有可能包括与消息相关的数据包、订阅相关数据包、邀请相关数据包的各种数据包,如果不应用过滤器,则它可以监听服务器发送的所有xml数据包。您还可以添加过滤器以过滤特定的数据包。PacketListener还用于处理自定义数据包和编写自定义XMPP扩展。
MessageListener
是一个高级接口,用于处理消息,PacketListener
则是更复杂的“工具”,用于匹配和处理自定义数据包并编写自定义 XMPP 扩展。如果 MessageListener
适合您的需求-只需使用它们。