:room.isPlaying、room.createdDate
socket.ioは、各部屋のために公に利用可能なオブジェクトへのアクセスを提供していません。 部屋ごとに独自のオブジェクトを作成し、自分のMap
オブジェクトに保存することができます。だから、部屋に誰かを追加するたびに、あなたのマップにルームオブジェクトがすでにあるかどうかを確認し、そうでない場合は作成します。その後、そのオブジェクトに部屋の状態を保つことができます。
客室のデータストアはどこですか?思い出に?その部屋に誰も残っていないとメモリは自動的に解放されますか?空き容量が多すぎるとサーバーメモリを消費するため、サーバーメモリを消費する可能性があります。
socket.ioには、特定の部屋の接続状況を記録した状態情報があります。その状態は文書化されていませんが、デバッガでソースコードやスタディの状態を調べ、すべてがどこに格納されているかを見つけることができます。例えば
:
io.nsps['/'].adapter.rooms
は、その性質/
名前空間内のすべてのアクティブなお部屋のリストですオブジェクトです。誰もがその部屋に残された後
Object.keys(io.nsps['/'].adapter.rooms)
ウィルメモリはオートリリースになる: それとも、あなたはすべてのアクティブなお部屋の配列を取得するためにこれを使用することができますか?空き容量が多すぎるとサーバーメモリを消費するため、サーバーメモリを消費する可能性があります。
はい、メモリが空になると解放されます。
ここでは、部屋のデータを保存し、空の部屋を処理するためにオブジェクトを使用しています。デフォルトのsocket.io roomを使用する場合と同じですか?
socket.ioは、データをメモリに保持します。部屋が空になるときれいになります。