备用套接字IO客户端

时间:2013-07-02 06:40:38

标签: html5 node.js websocket socket.io

我正在尝试使用nodejs实现设备配对程序。服务器由其他人实现并使用socket io:

var http = require('http'),
io = require('socket.io');

但是我配对的其中一个设备不支持Websocket(HTML5)。是否可以在不使用socket io的情况下创建套接字io客户端,还有其他选择吗?

提前致谢。

3 个答案:

答案 0 :(得分:1)

socket.io支持各种传输,例如flashsockets和XHR long-polling。因此,您不必使用其他客户端 - 即使没有Websocket支持,它也应该开箱即用

说到替代方案......有一些客户端库,例如对于Python,我不认为在浏览器中有任何运行 - 正如我之前所说,没有必要使用它们。

答案 1 :(得分:0)

经过大量尝试和捕获后,我发现我使用的浏览器无法支持Socket.IO.js中的缓冲行为。第一次发射是在没有缓冲的情况下完成的,因此可以正确地发出第一次配对请求。 所以我将Socket.prototype.setBuffer(true)更改为Socket.prototype.setBuffer(false)。这可能不是一个干净的解决方案,但在我的情况下,它的工作原理。

答案 2 :(得分:0)

您可以配置您想要使用哪种类型的后备广告

io.configure("production", function() {
  io.enable("browser client minification");
  io.enable("browser client etag");
  io.enable("browser client gzip");
  io.set("transports", ['websocket', 'jsonp-polling']);
  io.set("log level", 1);
});

io.configure("development", function() {
  io.set("transports", ['websocket', 'jsonp-polling']);
});

您可以在此处查看所有选项on the wiki