你见过this?
var io = require('socket.io').listen(80);
io.set('close timeout', 60);
io.set('heartbeat timeout', 60);
也许像
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
io.set('close timeout', 60);
server.listen(port, ip);
编辑:这是一个长镜头,但:
var app = require('express')();
var server = require('http').Server(app);
server['close timeout'] = 60;
var io = require('socket.io')(server);
server.listen(port, ip);
编辑: 发现这对socket.io docs:
// pass a server and the `serveClient` option
var io = require('socket.io')(http, { serveClient: false });
那么,这是怎么回事?
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server, { 'close timeout': 60});
server.listen(port, ip);
另一个编辑: 再次在docs:
传递给socket.io总是传递给 时生成的engine.io服务器相同的选项。作为参考请参阅engine.io options。
pingTimeout (Number): how many ms without a pong packet to consider the connection closed (60000)
你可以试试这个?
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server, { pingTimeout: 60000});
server.listen(port, ip);
io.set()自socket.io 1.0开始已弃用,我无法使用 – user3146857 2014-10-20 14:13:08
'server ['close timeout'] = 60;''这不是一个坏主意,但它不起作用。我想知道如果我正确地做事 - '' – user3146857 2014-10-20 14:31:14
我已经尝试过'var io = require('socket.io')(server,{'close timeout':60});' =>没有工作:(这很奇怪,这就是为什么我想知道如果我做错了什么... – user3146857 2014-10-20 14:52:42