NodeJS + SocketIO 推送到移动应用程序

5
我在SocketIO的网站上看到可以在移动设备上使用SocketIO。我试图在该网站上找到有关如何实现此操作的文档,但未能找到任何信息。
是否有人已经解决了使用SocketIO向移动设备发送消息的问题?我的猜测是它必须存在于一个可以运行JavaScript的WebView或类似的东西中?
编辑: 如果我不打算使用Sencha或PhoneGap,而是想要使用原生的Objective-C/Java,这是否可行?
补充选定答案: 我发现了一个Java Socket.IO客户端https://github.com/benkay/java-socket.io.client
1个回答

5
Socket.io利用Web Socket协议(客户端通过HTTP向服务器发送的升级请求)提供了一个全双工通信通道。正如您所提到的,它得到了许多移动浏览器的支持。
要实现这一点,例如,您有一个基于PhoneGap的应用程序需要开发,该应用程序基本上是HTML、CSS和JS。因此,为了拥有一个专用的全双工通信通道,您可以使用socket.io
当您编写Node JS服务器时:请参考Socket.io 网站
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);
  });
});

但是在移动开发方面,您需要在想要利用Web套接字功能的HTML中包含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。
希望这能帮到你。

嘿,谢谢回复。如果我想要本地实现这个怎么办? - denniss
我相信这对你有用 - http://code.google.com/p/unitt/wiki/UnittWebSocketClient - Futur
它不需要存在于Webview中,socket.io也有适用于Java和其他语言的API。 - LumbusterTick

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接