NodeJS + SocketIO 推送到移动应用
Posted
技术标签:
【中文标题】NodeJS + SocketIO 推送到移动应用【英文标题】:NodeJS + SocketIO pushing to Mobile App 【发布时间】:2012-04-22 09:49:42 【问题描述】:我在 SocketIO 的网站上看到可以将 SocketIO 用于移动设备。我试图在其网站上找到有关如何执行此操作的文档,但找不到任何文档。
有人知道如何使用 SocketIO 向移动设备发送消息吗?我的猜测是它必须存在于 WebView 或可以运行 javascript 的东西中?
编辑 如果我不打算使用 Sencha 或 PhoneGap 怎么办。我想去本土。目标-C/Java。这可能吗?
添加到所选答案 我找到了一个 java socket.io 客户端 https://github.com/benkay/java-socket.io.client
【问题讨论】:
【参考方案1】:Socket.io 利用 Web 套接字协议(客户端通过 HTTP 向服务器发送的升级请求)提供全双工通信通道。正如您所提到的,移动领域的许多网络浏览器都支持它。
要实现这一点,其中一个用例是,例如,您要开发一个基于 phonegap 的应用程序,该应用程序基本上是 html、CSS 和 JS。因此,要拥有专用的全双工通信通道,您可以使用socket.io。
当您编写 Node JS 服务器时:引用 Socket.io Website
var io = require('socket.io').listen(80); // beauty is web socket still runs in 80/443(WSS) and leverages TCP's capabilities.
io.sockets.on('connection', function (socket)
socket.emit('news', hello: 'world' );
socket.on('my other event', function (data)
console.log(data);
);
);
但在您的移动开发方面,您必须在 HTML 中包含您想要利用 Web 套接字功能的 JS。
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost');
socket.on('news', function (data)
console.log(data);
socket.emit('my other event', my: 'data' );
);
</script>
socket.io 网站上有一个可下载的客户端 JS。
希望这会有所帮助。
【讨论】:
您好,感谢您的回复。如果我想在本地做这个怎么办? 我相信这对你有用 - code.google.com/p/unitt/wiki/UnittWebSocketClient 它不需要存在于 webview 中,socket.io 也有 java 和其他语言的 api以上是关于NodeJS + SocketIO 推送到移动应用的主要内容,如果未能解决你的问题,请参考以下文章
从 Laravel(NodeJS)外部推送到 Laravel 队列
使用 OneSingnal 从 NodeJS 发送通知推送到 React Native
在 AngularJS 和 NodeJS 中隐藏 API 密钥并推送到 Git 和 Heroku