2016-04-05 17 views

答えて

0

クライアントから、自分のメッセージをサーバーに送信し、サーバーにそのサーバーをルームから削除するよう依頼します。サーバーはsocket.leave("someRoom")を使用して、指定された部屋からそのソケットを削除できます。クライアントは部屋に参加したり、部屋を離れたりすることはできません。部屋への参加と部屋への出入りは、サーバーによって行われなければなりません(チャットルームの概念全体が実際にサーバー上に存在するだけなので)。

文書here

+0

問題はサーバーにsocket_idがあることです。クライアントは長い間行っているので、クライアント側からは何もアクセスできません。 – Cisplatin

+0

@ Xenon - クライアントがなくなった場合、ソケットはすでに切断されていて、切断されたソケットは自動的にすべての部屋から削除されます。クライアントがまだ接続されている場合、socketidを使用してソケットを検索し、見つかったソケットで 'socket.leave()'を呼び出すことができます。具体的なコーディングヘルプが必要な場合は、コードの関連部分を表示してください。 – jfriend00

+0

@Xenon - サーバ上では、 'var socket = io.sockets.connected [socket_id]'を使ってソケットIDを使って特定のソケットを検索することができます。ソケットを使用して 'socket.leave(" xxx) "を実行することはできますが、ソケットが切断されていれば、データ構造にはなく、すべての部屋からすでに削除されています。 – jfriend00

関連する問題