断开连接一段时间后,socket.io-client保持运行状态

最后发布: 2012-09-18 14:12:51


问题

server.js

var io = require('socket.io').listen(3000);

io.sockets.on('connection', function (socket)
{
    console.log("server is connected");
    socket.on('disconnect', function ()
    {
        console.log("disconnected");
    });
});

client.js

var socket = require('socket.io-client')
            .connect('http://localhost:3000/')
            .on('connect', function ()
            {
                console.log("client connected");
                socket.disconnect();
            })
            .on('disconnect', function ()
            {
                console.log('client disconnected');
                //not going to finish the client.js app imediately.
            });

为什么?

socket.io-client在断开连接事件后约1分钟保持运行状态。

有没有基本的解决方法或明智的解决方法?

node.js v0.8.8

socket.io v0.9.10

socket.io-client v0.9.10

node.js socket.io
回答

我只是简单地做如下。

client.js

var socket = require('socket.io-client')
        .connect('http://localhost:3000/')
        .on('connect', function ()
        {
            console.log("client connected");

            process.abort();

          //  socket.disconnect();
        })
        .on('disconnect', function ()
        {
            console.log('client disconnected');
        });


回答

对我来说似乎是个虫子。 如果您不想等待,可以在断开回调中执行process.exit()