在服务器和Android应用程序之间创建双向持续通信的最佳方法是什么?
当我说持续沟通时,我的意思是客户要求服务器提供数据或服务器不断向客户推送数据。
从我看到的,我不能使用websockets,因为他们是服务器/浏览器设置的设计者。是对的吗?如果是这样,有什么替代方案?
Android中是否有可用于此的免费框架?
我要做的是一个应用程序,它像聊天一样,但适用于多人。所以他们都会在他们的设备上进入一个“房间或频道”,然后以服务器的方式互相交流。
谢谢!
答案 0 :(得分:1)
据我所知,一种可能的方法是使用客户端可以连接到服务器的Web服务,如果Web服务是RESTFul,则有许多库可以访问它,其中一个是apache HTTPClient,用于服务器推送我知道的唯一方法是C2DM,用于将数据推送到客户端。
答案 1 :(得分:0)
答案 2 :(得分:0)
你可能想看看AutobahnAndroid:
https://github.com/tavendo/AutobahnAndroid
提供本机Android / Java WebSocket客户端框架(加上WAMP = PubSub / RPC over WebSocket .. http://wamp.ws)。
这与服务器浏览器客户端的WebSocket服务器完全可互操作。
AutobahnXX库(其中XX = Python,JS,Android)是开源的(Apache 2.0)。我们(Tavendo)正在提供基于Autobahn的商业虚拟设备:http://autobahn.ws
免责声明:我是高速公路的作者并为Tavendo工作。
答案 3 :(得分:0)
但是在iOS和Android设备上保持连接在后台运行会耗尽电池,对于遇到此问题的人,我建议在应用不在前台时使用推送通知。
答案 4 :(得分:0)
从我看到的,我不能使用websockets,因为他们是设计师 服务器/浏览器设置。是对的吗?如果是这样,有什么替代方案?
Websocket是一种IETF / W3C协议,因此它不仅限于特定的客户端平台。您可以使用Android websocket在Android和服务器端之间进行双向通信。对于Android websocket客户端,我建议使用AndroidAsync。它具有建立通信链接并在Android和服务器之间交换数据所需的所有websocket API。