我正在寻找在运行本机应用程序的Android设备和网站之间进行通信的选项。
基本上,Android设备只是一个移动传感器,而网站是接收端,将处理传感器数据。然后,网站必须将这一运动可视化。
我们的目标是,这种情况会立即持续发生,因为传感器数据可以轻松地达到每秒50次更新。
我正在寻找一些合适的选择,并可能分享尽可能流式传输这些数据的经验;
到目前为止,我想到了;
- 使用蓝牙、Wifi Direct或USB等技术。可能不会可从网站访问
- 使用Node.js服务器进行简单的套接字连接
- 使用谷歌应用程序引擎。channel(java)客户端对于这一点,但似乎应用程序引擎只能是传输端
我会这样做:
- Web服务器:nodeexpress+socket.io
- Android设备:使用https://github.com/Gottox/socket.io-java-client将事件流式传输到Web服务器
- 浏览器:使用socket.io客户端获取实时事件流
nodesocket.io服务器只接收传感器数据并进行广播。
关于socket.io:
Socket.io使用Websockets。但是,如果客户端不支持Websockets,它会返回到长轮询等…来模拟Websockets。除此之外,它还为您提供了一个Websockets无法开箱即用提供的pub/sub框架。
socket.io的新版本(可在github上获得)使用engine.io来提供websocket抽象,然后在其上添加一个pub/sub框架。
在appengine中,使用前端向其发布数据,不需要双向通道。如果你真的想要双向使用插座。