Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android-套接字与轮询_Android_Sockets_Chat_Polling - Fatal编程技术网

Android-套接字与轮询

Android-套接字与轮询,android,sockets,chat,polling,Android,Sockets,Chat,Polling,作为我正在开发的Android应用程序的一部分,有一个聊天室功能。我们有一个服务器,可以处理传入的消息并存储消息。保持手机和服务器之间的套接字连接打开,以便服务器可以向手机发送任何新消息,还是让手机轮询服务器以获取新的聊天消息更好?轮询缺少实时连接,持续连接会耗尽电池电量。我认为你正在寻找的是一种“推动式”和持久连接的结合。您可以通过按键唤醒手机,然后通过插孔建立连接以处理聊天 我建议读这篇文章。 我不确定它是否提到了谷歌推送服务。对于随机发布数据的应用程序来说,这是一个糟糕的解决方案。我想说的

作为我正在开发的Android应用程序的一部分,有一个聊天室功能。我们有一个服务器,可以处理传入的消息并存储消息。保持手机和服务器之间的套接字连接打开,以便服务器可以向手机发送任何新消息,还是让手机轮询服务器以获取新的聊天消息更好?

轮询缺少实时连接,持续连接会耗尽电池电量。我认为你正在寻找的是一种“推动式”和持久连接的结合。您可以通过按键唤醒手机,然后通过插孔建立连接以处理聊天

我建议读这篇文章。
我不确定它是否提到了谷歌推送服务。

对于随机发布数据的应用程序来说,这是一个糟糕的解决方案。我想说的是,当你有像每5分钟或类似的离散事件发生时,轮询数据是有用的。聊天并非如此,有些用户可以在一小时内发布一些内容,有些用户可以在2分钟内发布30次


因此,保持套接字打开

如果您担心即时消息,我会保持套接字打开,设置套接字连接需要时间,尤其是在使用GSM连接的情况下。我已经看到,在3G上打开一个插座需要10秒或更长时间,而在WiFi上则需要更少的时间。

您能否限定您的说法“持续连接会消耗电池”?“持续连接会消耗电池”,因为保持连接打开意味着您将需要持续的资源使用。