0

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

4

2 に答える 2

0

私は単に次のようにしただけです。

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');
        });
于 2012-09-18T19:27:37.343 に答える
0

私にはバグのようです。待ちたくない場合はprocess.exit()、切断コールバックで行うことができます。

于 2012-09-19T09:48:51.740 に答える