1

socket.io に少し問題があります。指定したルームのユーザーを更新したい。このチュートリアルに従って、「ユーザーリスト」( http://psitsmike.com/2011/10/node-js-and-socket-io-multiroom-chat-tutorial/ ) を追加しました。部屋を変更すると、ニックネームが新しいユーザーのリストと更新

このようなことをすることで可能ですか?

usernames = {};
var clients = io.sockets.usernames(socket.room);

次に呼び出します。

io.sockets.emit('updateusers', clients);
4

1 に答える 1

0

アイデアは、部屋に出入りするときにソケットの独自のリストがあり、それが独自のリストを管理するということです。あなたがしたいことは、ユーザーが部屋を出るときです - その部屋にメッセージをブロードキャストします:

socket.broadcast.to('room1').emit('userRemove', 'data');

そのルームのソケットは、受信時にこのメッセージを処理して、リストから実際のレコードを削除する必要があります (これが Web アプリケーションの場合は HTML リストである可能性があります)。これは、サーバー上ではもうルームにないためです。

これを同期と呼びます。

于 2012-12-20T13:36:05.213 に答える