禁用Socket.io心跳(Node.js)

禁用Socket.io心跳(Node.js),node.js,socket.io,heartbeat,Node.js,Socket.io,Heartbeat,提到心跳可以像这样被禁用: io.disable('heartbeats') 不幸的是,虽然这似乎阻止了hearbeats的发送,但客户端在不发送hearbeats时仍然断开连接 以下功能也不起作用: io.set('heartbeats',false) 我已尝试将某些间隔设置为0,但未成功: io.set('heartbeat timeout', 0); io.set('heartbeat interval', 0); 有什么建议可以正确禁用心跳吗?代码是 io.disable('heart

提到心跳可以像这样被禁用:

io.disable('heartbeats')

不幸的是,虽然这似乎阻止了hearbeats的发送,但客户端在不发送hearbeats时仍然断开连接

以下功能也不起作用:

io.set('heartbeats',false)

我已尝试将某些间隔设置为0,但未成功:

io.set('heartbeat timeout', 0);
io.set('heartbeat interval', 0);
有什么建议可以正确禁用心跳吗?

代码是

io.disable('heartbeats');
在socket.io v0.8.7上成功测试

不致残

debug - emitting heartbeat for client 299833185260419425
debug - websocket writing 2::
debug - set heartbeat timeout for client 299833185260419425
debug - got heartbeat packet
debug - cleared heartbeat timeout for client 299833185260419425
debug - set heartbeat interval for client 299833185260419425
禁用

debug - emitting heartbeat for client 299833185260419425
debug - websocket writing 2::
debug - set heartbeat timeout for client 299833185260419425
debug - got heartbeat packet
debug - cleared heartbeat timeout for client 299833185260419425
debug - set heartbeat interval for client 299833185260419425
调试-客户端授权

info  - handshake authorized 1205975980561506547
debug - setting request GET /socket.io/1/websocket/1205975980561506547
debug - client authorized for 
debug - websocket writing 1::
debug - websocket writing 5:::{"name":"news","args":[{"hello":"foo"}]}

心跳有问题。我有最新的socket.io和节点0.6.X

   info  - socket.io started
   debug - client authorized
   info  - handshake authorized 734447051478827620
   debug - setting request GET /socket.io/1/websocket/734447051478827620
   debug - client authorized for
   debug - websocket writing 1::
   debug - websocket writing 5:::{"name":"hello"}
   info  - transport end (socket end)
   debug - set close timeout for client 734447051478827620
   debug - cleared close timeout for client 734447051478827620
   debug - discarding transport

// server code
var io = require('socket.io').listen(8080);
io.disable('heartbeats');

io.sockets.on('connection', function (socket) {
  socket.emit('hello');
});

客户端在连接后立即断开连接。

设置socket.io的日志级别,使用日志级别2,我们不会看到每个套接字的所有心跳,只看到握手和断开连接

io.set('日志级别',2)


只是偶然发现了这个。汤姆只是不确定它是否有效?我看不出这与他所说的有什么不同,他试图使工作没有效果。这给我造成了最新的0.9.X的错误,但在将socket.io切换到0.8.7之后,正如你所说,它工作了。。。我假设它是某个地方的一个bug。请注意,我的问题是从2011年9月8日开始的,禁用的机械师可能已经修复了。