一部のネチズンは回線切断やクラッシュなどにより通常のチャンネルからチャットルームから退出できず、オンライン人数が正しく表示されません!解決策は一般的には
1 オンラインの人数のファイルを作成し、そのファイルにオンラインの人々の ID/パス/時刻を保存します。ここで、時刻は最終更新時刻です
2 毎回 ID/パス/時刻を更新しますチャット プログラムが正常に実行されているときに時々、オンラインであることをシステムに通知します (通常は 1 ~ 2 分です)
3 システムは一定期間、グリッドごとにオンラインのユーザーのリストをスキャンし、オンラインになっていない ID を探します一定時間(5分など)以上更新され、異常オフラインになっていることを確認します
4 オンライン人数はファイルの行数、リストはマイトークデータです。現在ダウンロード可能なroomはこの方法で実装されています!
この方法は比較的単純なプロセスですが、人数が多い場合、ファイル共有の問題が重要になります。実践を通じて、システムリソースの消費が非常に少なく、共有の問題をうまく解決できる方法を見つけました。
具体的なアイデアは次のとおりです:
1 オンライン人事データを保存するための useronline サブディレクトリを作成します
2 入力する各人は、その中にユーザー名とファイル名を含むファイルを作成します。中身は空です!
3 チャットプログラムが正常に実行されている場合、定期的にサブディレクトリ内のファイルを更新します
4 システムは、ディレクトリ内のファイルの更新時間に基づいて、ユーザーの数がオフラインであるかどうかを判断します
5 数オンラインの人数はディレクトリ内のファイルの数、リストはファイル名です
利点: 誰もが他の人に影響を与えることなく自分のファイルを更新でき、共有の問題はありません。
5分ごとにスキャンできるので、リソースの消費が非常に少ないです!
この技術は私の新しいバージョンのチャットルームで使用されます! ! !
http://www.bkjia.com/PHPjc/508607.html