Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js socket.io是否从轮询升级到websocket?_Node.js_Express_Socket.io_Socket.io 1.0_Engine.io - Fatal编程技术网

Node.js socket.io是否从轮询升级到websocket?

Node.js socket.io是否从轮询升级到websocket?,node.js,express,socket.io,socket.io-1.0,engine.io,Node.js,Express,Socket.io,Socket.io 1.0,Engine.io,我将nodejs与socket.io和express框架一起使用。以下是我运行命令时得到的日志输出 DEBUG=* /bin/www 以下是日志输出 engine intercepting request for path "/socket.io/" +2m engine handling "GET" http request "/socket.io/?EIO=3&transport=polling&t=1414498393419-0" +0ms engine ha

我将nodejs与socket.io和express框架一起使用。以下是我运行命令时得到的日志输出

DEBUG=* /bin/www
以下是日志输出

  engine intercepting request for path "/socket.io/" +2m
  engine handling "GET" http request "/socket.io/?EIO=3&transport=polling&t=1414498393419-0" +0ms
  engine handshaking client "WECN1dP0tobacKc8AAAB" +1ms
  engine:socket sending packet "open" ({"sid":"WECN1dP0tobacKc8AAAB","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":60000}) +0ms
  engine:polling setting request +0ms
  engine:socket flushing buffer to transport +0ms
  engine:polling writing "  �0{"sid":"WECN1dP0tobacKc8AAAB","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":60000}" +1ms
  engine:socket executing batch send callback +1ms
  socket.io:server incoming connection with id WECN1dP0tobacKc8AAAB +2.5m
  socket.io:client connecting to namespace / +1.3m
  socket.io:namespace adding socket to nsp / +2.5m
  socket.io:socket socket connected - writing packet +1.3m
  socket.io:socket joining room WECN1dP0tobacKc8AAAB +0ms
  socket.io:client writing packet {"type":0,"nsp":"/"} +1ms
  socket.io-parser encoding packet {"type":0,"nsp":"/"} +2.5m
  socket.io-parser encoded {"type":0,"nsp":"/"} as 0 +0ms
  engine:socket sending packet "message" (0) +1ms
  socket.io:socket joined room WECN1dP0tobacKc8AAAB +5ms
  engine intercepting request for path "/socket.io/" +140ms
  engine handling "GET" http request "/socket.io/?EIO=3&transport=polling&t=1414498393557-1&sid=WECN1dP0tobacKc8AAAB" +0ms
  engine setting new request for existing client +1ms
  engine:polling setting request +0ms
  engine:socket flushing buffer to transport +0ms
  engine:polling writing "�40" +0ms
  engine:socket executing batch send callback +0ms
  engine upgrading existing transport +39ms
  engine:socket might upgrade socket transport from "polling" to "websocket" +0ms
  engine intercepting request for path "/socket.io/" +16ms
  engine handling "GET" http request "/socket.io/?EIO=3&transport=polling&t=1414498393618-2&sid=WECN1dP0tobacKc8AAAB" +0ms
  engine setting new request for existing client +0ms
  engine:polling setting request +0ms
  engine:ws received "2probe" +2ms
  engine:ws writing "3probe" +0ms
  engine:socket writing a noop packet to polling for fast upgrade +100ms
  engine:polling writing "�6" +0ms
  engine:ws received "5" +4ms
  engine:socket got upgrade packet - upgrading +0ms
  engine:ws received "2" +25s
  engine:socket packet +0ms
  engine:socket got ping +0ms
  engine:socket sending packet "pong" (undefined) +0ms
  engine:socket flushing buffer to transport +0ms
  engine:ws writing "3" +0ms
  engine:ws received "2" +25s
  engine:socket packet +0ms
  engine:socket got ping +0ms
  engine:socket sending packet "pong" (undefined) +0ms
  engine:socket flushing buffer to transport +0ms
  engine:ws writing "3" +0ms
  engine:ws received "2" +25s
  engine:socket packet +0ms
  engine:socket got ping +0ms
  engine:socket sending packet "pong" (undefined) +0ms
  engine:socket flushing buffer to transport +0ms
  engine:ws writing "3" +0ms
  engine:ws received "2" +25s
  engine:socket packet +0ms
  engine:socket got ping +0ms
  engine:socket sending packet "pong" (undefined) +0ms
  engine:socket flushing buffer to transport +0ms
  engine:ws writing "3" +1ms
我没有看到任何确认传输升级的日志消息。乒乓球信息也在不断发生

这是否意味着websocket传输已建立?

是的,它使用。我敢肯定,如果您连接浏览器或使用wireshark,您会看到来自服务器的“HTTP/1.1 101交换协议”消息。 您还可以在日志“engine:ws”中看到,这意味着websocket正在工作。 如果您仍然不确定是否可以打印出传输类型(例如,断开连接时)。这是服务器端代码(socket.io 1.1.0):


是否在节点应用程序后面使用反向代理?否。代码直接命中本地主机:3000Hi。如果您看到日志
Bug引擎:ws-writing“3probe”+0ms
出现在
engine:socket写入noop数据包以轮询快速升级+100ms
之前。i、 甚至在尝试从轮询升级到websocket之前。这意味着
engine:ws
的出现并不意味着传输已经转移到websocketies,没错,这并不意味着传输总体上已经转移。但在日志的最后,它记录得非常好。无论如何,我只想尝试套接字传输类型的调试输出。我在我的服务器中使用它,当客户端连接它的轮询时,我们断开它的websocket。
  socket.on('disconnect', function () {
    console.log(socket.id + ' disconnect ('+ socket.client.conn.transport.constructor.name +')';
  });