NodeJS + SocketIO推向移动应用程序

时间:2012-04-10 04:25:09

标签: android ios node.js websocket socket.io

我在SocketIO的网站上看到,可以将SocketIO用于移动设备。我试图在其网站上找到有关如何执行此操作的文档,但我找不到任何文档。

有没有人想过如何使用SocketIO向移动设备发送消息?我的猜测是它必须存在于WebView或可以运行javascript的东西中?

修改 如果我不打算使用Sencha或PhoneGap怎么办?我想去当地人。的Objective-C / Java的。这有可能吗?

添加到所选答案 我找到了一个java socket.io客户端 https://github.com/benkay/java-socket.io.client

1 个答案:

答案 0 :(得分:5)

利用Web套接字协议的Socket.io(客户端通过HTTP发送给服务器的升级请求)提供了一个全双工通道进行通信。正如您所提到的,移动空间中的许多Web浏览器都支持它。

要实现这一点,其中一个用例就是,例如你有一个基于phonegap的应用程序开发,基本上是HTML,CSS& JS。因此,要拥有专用的全双工通信通道,您可以使用socket.io

编写Node JS Server时:参考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中包含JS,以便利用Web套接字的功能。

<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。

希望这有帮助。