如果我有这样的代码:
io.sockets.on('connection', function (socket) {
// setup listeners for this socket
setup_socket_events(socket);
});
function setup_socket_events(socket)
{
socket.on('disconnect', function(){event_disconnect(socket);});
}
function event_disconnect(socket)
{
console.log("disconnect");
}
当套接字断开连接时,这是内存泄漏吗?如果是,为什么以及如何阻止它?
更新: 尝试以下代码从assertvarnish
创建循环断言var assertvanish = require('assertvanish');
io.sockets.on('connection', function (socket) {
// setup listeners for this socket
setup_socket_events(socket);
});
function setup_socket_events(socket)
{
socket.on('disconnect', event_disconnect(socket) );
}
function event_disconnect(socket)
{
return function() {
console.log("disconnect");
// do something with socket
assertvanish(socket, 5000);
}
}
答案 0 :(得分:0)
没有内存泄漏。你说你正在使用断言。我认为assertvanish(socket, 10000)
只是说套接字在10秒后没有被删除,这没关系,因为你想让套接字永远保持活着,对吗?