2012-04-20 106 views
1

什么是创建服务器和Android应用程序之间的双向不断通信的最佳方式?Android应用程序,打开连接到移动设备

当我说不断的沟通,我的意思是客户端要求服务器的数据或服务器不断向客户端推送数据。

从我看到的,我不能使用websockets,因为他们是服务器/浏览器设置的设计器。是对的吗?如果是这样,另一种选择是什么?

在Android中有没有免费的框架来处理这个问题?

我想要做的是一个应用程序,像一个聊天工作,但为多人。所以他们都会在他们的设备上进入一个“房间或通道”,然后以服务器处理的方式与对方进行交互。

谢谢!

+0

伙计们,对不起,在这个问题上回来的时间最长。谢谢您的帮助。 – decio 2012-10-03 21:32:11

回答

0

对于连续打开的数据连接,您可以使用Sockets。但是你也应该考虑一个事实,即一个永远打开的连接也会快速耗尽你的电池。欲了解更多详情,请阅读thisthis

1

据我所知,一种可能的方式是使用Web服务,客户端可以连接到服务器,如果Web服务是RESTFul,有许多库可以访问它,其中之一是Apache HTTPClient,用于服务器推动我所知道的唯一方法就是将数据推送到客户端的C2DM。

0

你可能想看看AutobahnAndroid:

https://github.com/tavendo/AutobahnAndroid

它提供了原生Android/Java的WebSocket的客户端框架(加WAMP =的PubSub/RPC通过WebSocket的.. http://wamp.ws )。

这是与服务器浏览器客户端的WebSocket服务器完全互操作的。

AutobahnXX库(其中XX = Python,JS,Android)是开源的(Apache 2.0)。我们(Tavendo)提供基于高速公路的商用虚拟设备:http://autobahn.ws

声明:我是Autobahn的作者,并为Tavendo工作。

0

但是在iOS和Android设备上保持连接在后台运行会消耗电量,对于有此问题的人,我建议在应用程序不在前台时使用推送通知。

0

从我看到的,我不能使用websockets,因为他们是设计器为 服务器/浏览器设置。是对的吗?如果是这样,另一种选择是什么?

Websocket是IETF/W3C协议,所以它不局限于特定的客户端平台。您可以使用Android websocket获取Android和服务器端之间的双向通信。对于Android websocket客户端,我推荐使用AndroidAsync。它具有您需要建立通信链接并在Android和服务器之间交换数据的所有websocket API。

相关问题