2017-02-23 48 views
1

私はsocket.io 1.7.3バージョンを使用しています。サーバーコード:socket.ioは1つのクライアントに出力しません

io.on('connection', function (socket) { 
    console.log(socket.id); // CdnNBVe9ktJmMcb1AAAA 
    socket.to(socket.id).emit('something'); 
    socket.emit('something'); // if I do it without to, it works but to all clients 
    console.log(socket.rooms); // { CdnNBVe9ktJmMcb1AAAA 'CdnNBVe9ktJmMcb1AAAA' } 
}); 

クライアント:

<script src="/socket.io/socket.io.js"></script> 
var socket = io.connect(..); 
socket.on('connect', function() { 
    console.log(socket.id); // CdnNBVe9ktJmMcb1AAAA 
    socket.on('something', function() { 
     alert('it works'); 
    }); 
}); 

それが動作しないのはなぜ?すべてのconsole.logが正しいように見えますが、私は警告が出ません。特定のクライアントにメッセージを送信する

答えて

0

は、サーバーにそのクライアントのsocket.idを提供しなければならないし、サーバ側のsocket.ioで

socket.broadcast.to('ID').emit('send msg', {somedata : somedata_server}); 

で、使用して、そのメッセージを配信するの面倒を見ますあなたのコード

socket.broadcast.to(socket.id).emit('something'); 
+0

どちらも私のために動作しませんが、とにかくドキュメントに私はこれを参照することができます:socket.to().emitを(「ちょっと」、「私はあなたに会いました」); – dontHaveName

関連する問題