可能重复:
How to keep iphone ios xmpp connection alive while in the background?
我在聊天应用程序中使用Xmpp来发送和接收消息。当iphone进入后台时,我的openfire服务器会自动使我的会话处于离线状态。唤醒我的应用程序后,我的会话在openfire中变为Online,并且能够发送和接收消息。
当iphone处于空闲状态超过10分钟左右时发生Probelm。现在当应用程序进入前台时,我没有被列在openfire服务器中的活动会话下。 所以显然无法进行聊天操作。
在阅读了网上的一些讨论之后,我遇到了这个超时问题。是由于超时。如果是的话,以下工作会帮助我吗?
文件名:XMPPStream.h
/*
Many routers will teardown a socket mapping if there is no activity on the socket.
For this reason, the xmpp stream supports sending keep alive data.
This is simply whitespace, which is ignored by the xmpp protocol.
The default value is defined in DEFAULT_KEEPALIVE_INTERVAL.
To disable keepalive, set the interval to zero.
*/
@property (nonatomic, readwrite, assign) NSTimeInterval keepAliveInterval;
在文件中搜索关键字“DEFAULT_KEEPALIVE_INTERVAL”让我在这里......
#if TARGET_OS_IPHONE
#define DEFAULT_KEEPALIVE_INTERVAL 120.0 // 2 Minutes
#else
#define DEFAULT_KEEPALIVE_INTERVAL 300.0 // 5 Minutes
#endif
有人能建议我一个有效的解决方案吗?谢谢