是否可以在原生 Android 应用程序中使用 WebSockets 或类似的?

Posted

技术标签:

【中文标题】是否可以在原生 Android 应用程序中使用 WebSockets 或类似的?【英文标题】:Is it possible to use WebSockets or similar with a native Android application? 【发布时间】:2011-08-18 23:05:42 【问题描述】:

我有一个使用 HTTP / REST(使用 Express.js)的 Node.js 应用程序,以及一个与之通信的原生 android 应用程序。这很好用。

我现在正在考虑编写一个更实时的版本,它可以将消息推送到本地客户端。不幸的是,它需要是一个本地客户端,因为在可预见的未来,对数据进行了一些相当复杂的工作,这些工作在移动浏览器中是不可能的(否则我只会等待 WebSockets 支持出现在 Android 浏览器中)。

那么,我的问题是我有哪些选择?

我知道 Android 云到设备消息传递框架,但这需要注册和 Google 登录,而且我更希望服务器与客户端无关。

是否有可靠的 WebSocket 客户端(理想情况下)可以用来与运行 Socket.io 的 Node.js 服务器通信?或者任何其他本地方法(使用 NIO 类)?

【问题讨论】:

原生安卓应用不支持tcp吗?只需通过net 套接字与node 交谈即可。 【参考方案1】:

见Java socket.io client

【讨论】:

【参考方案2】:

您可以使用https://github.com/koush/android-websockets。 socket.io wiki pages中也提到了

PS:我知道回复这篇文章有点晚了,但这对于像我这样没有找到此类问题答案的其他人来说。

【讨论】:

【参考方案3】:
compile node.js on Android natively
    implement jni wrapper of node.js
    ...

参考此链接

https://github.com/paddybyers/anode/issues/15

【讨论】:

以上是关于是否可以在原生 Android 应用程序中使用 WebSockets 或类似的?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以使用 iOS 和 Android 原生地理定位服务等地理定位服务

我们可以在 Android 和 iOS 原生应用程序中使用 detox 工具吗? (不是反应本机)

在现有的 ios/android 应用程序中嵌入反应原生应用程序

可以使用 Xamarin 为原生 iOS 和 Android 应用程序创建客户端 sdk 吗?

在 Android 上使用 Flutter 显示在其他应用上

我可以使用 Python 编写原生 iPhone、Android、Windows、Blackberry 应用程序吗? [复制]