我将此解决方案用于收听内部乒乓球。 在将pong事件发送到客户端之后,Socket.io的内部库即engine.io触发'heartbeat'事件。你可以使用以下黑客来听这个事件。
我试图在新文件中覆盖socket.io,但它不起作用。目前以下代码适用于我。
答案 0 :(得分:0)
您也可以使用以下代码,而不会覆盖内部工作。
socket_io = require('socket.io');
io = socket_io.listen(server, {pingTimeout : 60000, pingInterval : 15000});
//Listening to heartbeat of internal socket ping pong
io.engine.on('connection', function(socket_conn) {
socket_conn.on('heartbeat', function(){
manager.resetTimer(socket_conn.id);
})
});