目前我只是每隔3秒查询一次服务器,看看是否有使用NSURLRequest等的新消息。如果有它将它们保存到数据库并发送NSNotificationCenter通知,如果没有,则它只等待3秒并再次尝试。
这是最好的方法吗?我意识到(在这里形成帖子和其他地方的信息)打开与服务器的持久连接是tedius而不是推荐,所以这是最好的方法吗?
我主要担心的是,如果没有新消息,它下载一个空的(信息,但仍然是几个字节大)XML提要,并且每3秒运行一次最终会加起来并使用大量数据
任何指针都会非常感激。
由于
答案 0 :(得分:4)
XMPP会通过长期生存的TCP连接来实现这一点。如何使用XMPP服务?
答案 1 :(得分:1)
我自己编写的一个应用程序是IM客户端,我们开发的应用程序也具有IM功能。
我自己的应用程序使用直接套接字连接和TCP进行通信。 TCP连接通过心跳消息保持活动状态。
另一方面,工作中的应用程序使用基于XMPP的解决方案,它基本上是相同的,因为它使用TCP或UDP连接,而不是专有协议(在我自己的IM应用程序的情况下), XML消息来回发送。
这取决于您的服务器当前的实现方式?这仅仅是针对您的应用的聊天实现,还是可供其他可能未使用iPhone应用的用户使用?您是否可以在不破坏任何内容的情况下更改服务器上的实现?
答案 2 :(得分:0)
push notifications是您应用的选项吗?