使用XMPP接收离线消息

时间:2015-02-20 18:31:49

标签: objective-c xmppframework ios8.1

我正在使用XMPP协议开发聊天应用 我试过跟随 来自github的this tutorial。一切都很好用 XMPP

但是当用户来时我无法接收离线消息 网上。
当用户A注销并且用户B向用户A发送消息时,并且当用户A登录到应用程序时,它必须接收所有消息 由用户B在offline session期间发送。

如何接收这些离线消息?
我的应用程序完全停留在这个问题上。如果有人请帮忙 知道解决方案。任何帮助将不胜感激。感谢

2 个答案:

答案 0 :(得分:0)

如果您使用 ejabberd XMPP服务器,则需要在服务器上启用ejabberd.yml

以下是启用模块的代码:

'http://jabber.org/protocol/disco#info'

将此代码写入(2 * PI * radius) / n 配置文件中 当客户端离线时,它将为每个用户存储100条消息。

在客户端,您可能需要注册服务:

(2 * PI * 80) / 12 = 41.8879

如果您这样做,只要离线客户端上线,服务器就会将这些存储的消息发送给相应的客户端。

答案 1 :(得分:0)

如果服务器支持,您可以发送离线消息请求。 XMPP适用于TCP协议,因此只要客户端启动,它就应该向服务器发送请求。

<iq type='get'>
  <query xmlns='http://jabber.org/protocol/disco#info' 
         node='http://jabber.org/protocol/offline'/>
</iq>