6

websockets (socket.io + node.js) を使用して、2 人チャットを構築する必要があります。したがって、すべてのユーザーにメッセージをブロードキャストする簡単な例:

socket.on('user message', function (msg) {
    socket.broadcast.emit('user message', socket.nickname, msg);
  });

しかし、特定のユーザーから特定のユーザーにブロードキャストするにはどうすればよいですか?

4

2 に答える 2

20

2 つの可能性があります。

1)各ソケットには、独自の一意の ID が に格納されていsocket.idます。両方のユーザーの ID がわかっている場合は、単純に使用できます。

io.sockets[id].emit(...)

2)独自の ID (ユーザー名など) を定義し、

socket.join('priv/John');

connectionハンドラーで。だけにメッセージを送信したいときはいつでもJohn

socket.broadcast.to('priv/John').emit(...)

補足:最初に提供されたソリューションは複数のマシンに拡張できないため、2 番目のソリューションを使用することをお勧めします。

于 2012-07-14T14:21:56.570 に答える