1

名前空間に接続および切断するためのいくつかのボタンを作成しました。

<div id="message">no message</div>
<button id="disNamespace1" type="button"> Disconnect from namespace1</button>
<button id="disNamespace2" type="button"> Disconnect from namespace2</button>
<button id="conNamespace1" type="button"> connection to namespace1</button>
<button id="conNamespace2" type="button"> connection to namespace2</button>

このボタンを次のように処理しています。

$('#conNamespace1').click(function(ev){
    mySocket = io.connect('http://localhost:1337/namespace1');
    mySocket.on("msg:from:namspace1", function(msg){
        $('#message').text(msg);
    });
});
$('#conNamespace2').click(function(ev){
    mySocket = io.connect('http://localhost:1337/namespace2');
    mySocket.on("msg:from:namspace2", function(msg){
        $('#message').text(msg);
    });
});

$('#disNamespace1').click(function(ev){
    console.log('trying disconnect');
    io.sockets['http://localhost:1337'].disconnect();
});
$('#disNamespace2').click(function(ev){
    io.sockets['http://localhost:1337'].disconnect();
});

私のサーバー:

socketNamespace1 = io.of('/namespace1');
socketNamespace2 = io.of('/namespace2');

socketNamespace1.on('connection', function(mySocket){
    console.log('namespace1: new user ');
    mySocket.emit('msg:from:namspace1', 'msg:from:namspace1');
    mySocket.on('disconnect', function(){
        console.log('disconnecting from namespace1');
    }); 
});
socketNamespace2.on('connection', function(mySocket){
    console.log('namespace2: new user ');
    mySocket.emit('msg:from:namspace2', 'msg:from:namspace2');
    mySocket.on('disconnect', function(){
        console.log('disconnecting from namespace2');
    });
});

最初の接続と切断は問題なく機能しますが、2 回目に接続ボタンをクリックすると機能しなくなります。何が問題ですか ?

4

1 に答える 1