2016-04-07 2 views
1

を働いていない、私はソケットを格納していますこのようなID:socket.io - socketidする放射(単一のクライアント)私はバージョン0.9.4(私はあなたの指導に従って任意のバージョンを使用することができます)</p> <p>サーバーで(app.js)を使用しています

var socket_ids = []; 
io.sockets.on('connection', function(socket) { 
    socket_ids.push(socket.id); #This is how I am getting socket id. My real code logic is totally different, but getting socket id using socket.id; 
    socket.on('createNote', function(data) { 
     socket.broadcast.to(socket_ids[0]).emit('onNoteCreated', data); 
    }); 
}); 

要するに、私は4人がセッションを開いており、4人はすべて異なるユーザーです。

p1がメッセージを送信する場合、p2にのみ到達する必要があります。 p3がメッセージを送信すると、p4にのみ到達するはずです。

ソケットIDを使用してメッセージをブロードキャストしているときに、そのソケットIDを持つクライアント/ブラウザはそのメッセージを受信して​​いないので、if..elseロジックを脇に置いてください(私は問題ありません)。また、上記のブロードキャストコード行(他の行はSOに特化しています)ではエラーを出さずにクライアントが受信しません。

しかし、これらのクライアント/ブラウザは、すべてにブロードキャストされたときにメッセージを受信します。

ありがとうございました。最新socket.ioバージョンで

答えて

3

、これは私はそれを行うだろうかです:

var sockets = []; 

io.on("connection", function(socket){ 

    // Store whole socket object. 
    // NOTE: You should probably loop through sockets array 
    // to see if a socket with this id already exists 
    sockets.push(socket); 

    socket.on("createNote", function(data){ 
     sockets[0].emit("onNoteCreated", data); 
    }); 
}); 

希望これは私がその1.4.5を推測

+0

に役立ちます。それをテストして戻ってみましょう。ありがとう。 – user1305989

+0

ありがとう、働いている:) – user1305989

関連する問題

 関連する問題