作为我正在开发的Android应用程序的一部分,其中有一个聊天室功能。我们有一个服务器可以处理传入的消息并存储消息。是保持手机和服务器之间的套接字连接以便服务器可以向手机发送任何新消息更好,还是更好让手机轮询服务器获取新的聊天消息?
针对随机发布数据的应用程序使用轮询是不好的解决方案。我的意思是,当您有像每5分钟一次这样离散发生的事件时,轮询数据很有用。但聊天不是这种情况,有些用户可能一个小时内只发布一次,而有些用户可以在2分钟内发布30次。 因此,请保持您的套接字开启。
轮询缺乏实时连接,而持久连接会耗费电池。我认为你要找的是“推送”和持久连接的组合。你可以通过推送唤醒手机,然后通过套接字建立连接来处理聊天。我建议阅读this文章。我不确定它是否提到了c2dm,谷歌的推送服务。