5

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

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

编辑 如果我不打算使用 Sencha 或 PhoneGap 怎么办。我想去本土。目标-C/Java。这可能吗?

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

4

1 回答 1

5

Socket.io 利用 Web 套接字协议(客户端通过 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。

希望这可以帮助。

于 2012-04-10T04:47:24.363 回答