【发布时间】:2015-12-07 22:15:14
【问题描述】:
将 socket.io 升级到 1.3.7 后
io.set("transports", ["websocket", "xhr-polling"]);
不再起作用,我在哪里配置这些选项? (我在官方文档中找不到这个信息)
【问题讨论】:
标签: node.js websocket socket.io
将 socket.io 升级到 1.3.7 后
io.set("transports", ["websocket", "xhr-polling"]);
不再起作用,我在哪里配置这些选项? (我在官方文档中找不到这个信息)
【问题讨论】:
标签: node.js websocket socket.io
您可以像这样配置传输首选项:
// server
var io = require('socket.io')({
transports : [ 'websocket', 'xhr-polling' ]
});
默认情况下,socket.io@1 将尝试升级到可用的 Web 套接字,但最初,客户端将始终尝试使用 XHR/JSONP 进行连接,并在可用时升级到 Web 套接字。
这种行为可能会令人困惑(我第一次使用它时会感到困惑),因为它看起来像是 XHR 轮询。它记录在here:
Socket.IO 从不假定
WebSocket会正常工作,因为在实践中很有可能不会。相反,它会立即与 XHR 或 JSONP 建立连接,然后尝试升级到 WebSocket 的连接。与依赖超时的后备方法相比,这意味着您的任何用户都不会有降级的体验。
【讨论】:
WS)。
你试过了吗:
var socket = require('socket.io')({
transports : ["websocket", "xhr-polling"]
});
【讨论】: