在Android上支持WebSocket

在Android上支持WebSocket,websocket,socket.io,trigger.io,Websocket,Socket.io,Trigger.io,我将为一个客户启动一个项目,该客户拥有大量需要实时处理的数据 我将使用trigger.io构建两个移动应用程序,以及一个web UI,所有这些都需要保持同步 我计划将socket.io的WebSocket实现与我的Node.js后端一起用于webapp和移动应用程序。这将在iOS和现代web浏览器上非常有效 然而,Android的webview根本不支持WebSocket。如果socket.io在Android上使用其长时间的轮询回退,那么它只会破坏移动应用程序用户的数据计划 我想知道:是否有可

我将为一个客户启动一个项目,该客户拥有大量需要实时处理的数据

我将使用trigger.io构建两个移动应用程序,以及一个web UI,所有这些都需要保持同步

我计划将socket.io的WebSocket实现与我的Node.js后端一起用于webapp和移动应用程序。这将在iOS和现代web浏览器上非常有效

然而,Android的webview根本不支持WebSocket。如果socket.io在Android上使用其长时间的轮询回退,那么它只会破坏移动应用程序用户的数据计划

我想知道:是否有可能为trigger.io Android实现Java WebSockets,然后将其公开给WebView?有一个电话缺口

我想我可以为它写一个trigger.io插件——但在我开始这个项目之前,我想确定这是否可行/写一个插件是否不太难


很久以前我就使用了trigger.io,但自从所有的幻想都像本机插件一样出现后就没有了。

如果使用HTTP回退解决方案不是一个选项(我会做一些计算来确定流式或长轮询解决方案是否真的会“破坏移动用户的数据计划”)那么,添加WebSocket支持的最佳解决方案可能是trigger.io插件

在Pusher,我们在PhoneGap中使用了Java包装器,以使JavaScript库正常工作。然而,我们已经添加了HTTP回退,所以我不建议任何人现在就使用它。项目在这里:

这里(我们使用的)Java包装器的问题是它不支持SSL连接(如果我没记错的话),而且它已经很久没有更新了

当我们创建(支持Android)时,考虑到这一点,我们在中使用了WebSocket客户端,因为它正在积极开发中,并且支持SSL连接。我推荐它


我很想了解它提供的支持。

我正在trigger.io应用程序中使用Pusher的JS API。它在iOS和Android上运行良好(回到2.3)。你有没有考虑过像Meteor或Derby这样的东西?我知道它会起作用,但我想知道长轮询对用户数据计划的影响。@AndyJoslin,你最终做了什么?谢谢我用了Firebase,效果很好。你们是对的,我猜长时间的投票是“超级邪恶”——我会更深入地研究它!感谢pusher java library链接,我来看看。HTTP流将更高效,因为流连接是持久的,不会像使用long-polling时那样打开/关闭连接。酷!我查了一下。。。我甚至不知道那东西是怎么工作的,哈哈。我原以为长轮询是“每隔X秒发送一个HTTP请求以检查服务器状态”-但这有很大不同。@AndyJoslin有一个常见的误解。仅供参考,我在这里开始了一个小指南:移动网络上也不总是支持Web套接字!我发现有些使用HTTP 1.0的代理,删除了一些必要的头