Javascript 具有轮询请求的socket.io泛洪服务器
当我尝试运行socket.io应用程序时,客户端的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请求。当使用不同的浏览器时,您是
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});