Javascript 具有轮询请求的socket.io泛洪服务器

Javascript 具有轮询请求的socket.io泛洪服务器,javascript,node.js,websocket,socket.io,Javascript,Node.js,Websocket,Socket.io,当我尝试运行socket.io应用程序时,客户端的socket.io会向服务器发送大量新的连接,而不是维护连接: 代码非常基本,那么会有什么问题呢 示例代码: 服务器: 客户: 试试这个 var socket = io({transports: ['websocket'], upgrade: false}); 这会强制socket.io只使用webSocket而不使用HTTP轮询,然后问题就会消失。可能是客户端的socket.io已切换到轮询模式,正在发送xhr请求。当使用不同的浏览器时,您是

当我尝试运行socket.io应用程序时,客户端的socket.io会向服务器发送大量新的连接,而不是维护连接:

代码非常基本,那么会有什么问题呢

示例代码: 服务器: 客户: 试试这个

var socket = io({transports: ['websocket'], upgrade: false});

这会强制socket.io只使用webSocket而不使用HTTP轮询,然后问题就会消失。

可能是客户端的socket.io已切换到轮询模式,正在发送xhr请求。当使用不同的浏览器时,您是否看到相同的问题?问题是这不是轮询-每秒20个请求,并且没有创建连接。确实有效,但这意味着websocket的默认行为存在缺陷。
requirejs(["socket.io"], function (io) {
    var socket = io(location.hostname + ":" + location.port);
    ///These events never occur
    socket.on("connect", function () {
        console.log("Connected via websocket.");
    })
    socket.on("disconnect", function () {
        console.warn("websocket ded")
    });
})
var socket = io({transports: ['websocket'], upgrade: false});