2017-12-05 17 views
1

次のコードは、NodeJSでソケットコール用に実装されているバックエンド用のコードです。ソケット通知を特定のユーザに送信

const socket = require('socket.io'); 

let Users = []; 

module.exports = function (server) { 
    const io = socket.listen(server); 

    io.sockets.on('connection', function (socket) { 

     socket.on('socket-call', function (userId) { 
      Users[userId] = socket.id; 
      socket.broadcast.emit('socket-call', {msg: 'login call'}); 
     }); 
}); 
}; 

idがフロントエンドから渡された特定のユーザーに通知メッセージを送信します。しかし、それはすべてのユーザーに通知を送信します。

私は次のように試しましたが、動作しません。解決策を教えてください。

socket.broadcast.to(Users[userId]).emit('socket-call', {msg: 'login call'}); 

答えて

0

socket.emit('socket-call', userId); 
+3

で試してみてください、いくつかの限定された、すぐにヘルプを提供可能性がある、このコードスニペットをいただき、ありがとうございます。 *なぜ*これが問題の良い解決策であるかを示すことによって[適切な説明は長期的価値を大幅に改善する](// meta.stackexchange.com/q/114762/350567)、将来的にはより有用になる他の同様の質問の読者。あなたの前提を含め、あなたの答えを[編集]して説明を加えてください。 – iBug

関連する問題