PHPでチャットスクリプトを作成しています。その際にそのチャットの参加者を表示しようと思うのですが、どのようなアルゴリズムで取得するのが一般的でしょうか。


ajaxで非同期でチャットの情報を取得しているので、そのタイミングでDBに書き込み処理を行い、一定期間の書き込みユーザーをログインと見なすという形にしようか。。とも思うのですが、定期的にDBに書き込みというのもどうなんだろうという思いがあります。

一般的な方法がありましたら、教えてください。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2011/07/02 10:40:47
  • 終了:2011/07/09 10:45:04

回答(2件)

id:km1981 No.1

km1981回答回数429ベストアンサー獲得回数492011/07/02 14:29:43

ポイント100pt

FIFO方式がいいと思います

id:tomohirof

ありがとうございます。解決の糸口がつかめました。

2011/07/02 18:26:59
id:rafin No.2

rafin回答回数8ベストアンサー獲得回数02011/07/02 19:46:16

ポイント100pt

チャットを開始(入室)した時にカウント数を保存する形が一般的だと思います。


ただし、この場合はブラウザが落ちたりログアウトしなければ参加者としてデータが残るので、定期的に参加している事を確認しなければ行けません。


ajaxで非同期通信をしているなら、その時にログイン人数をアップデートする形はいかがでしょうか。一定期間の書き込みですと、ROMの人の判断が難しいと思います。(もちろん、1対1のチャットの場合、そう言う事はないでしょうが・・・)


また、定期的にDBに書き込むのが気になる場合は、テキストファイルに保持する方法も考えられると思います。こちらの方が経験上、負荷がかかりません。

id:tomohirof

テキストファイルというのもありますね。

詳しい説明、ありがとうございます。

2011/07/03 23:40:06

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません