スレッド表示 | フラット表示〕 全トピック 920 件中 485 番目 次≫ ≪前

チャットの入室者数の制限

created: 2005-01-28 12:33 | modified: 2005-01-31 23:57 | reply: 4

[2080] チャットの入室者数の制限

user: ヒデ | created: 2005-01-28 12:33
WindowsXPでチャットのスクリプトを作成中です。表示最大数は、定義ファイルで、
define(CHAT_DISP_MAX,20)として、
(sizeof($Chatdata-CHAT_DISP_MAX))をループ処理して、新着順に表示させるようにしています。
<$Chatdataは全ての発言データ→定義ファイルでcsvファイルのパスを指定して、定義済み>
 
入室者数を制限する方法は、ありませんか? 
reply: 2081 返信 編集 削除

[2081] ん?

user: 無人 | created: 2005-01-28 19:36
上記のは、ログのサイズの調整用ですよね?
まず、参加者を記録させるようにして、参加者データのMAXサイズを用意しておいて
入室時に参加者数を見に行って、オーバーならエラーにしたらいいのでは、ないでしょうか?
Parent: 2080  reply: 2083 返信 編集 削除

[2083] タイムアウト処理

user: ごいんきょ。 | created: 2005-01-30 04:24
その場合、発言や特定の送信処理がないまま、一定時間たったら、自動でログアウトするようにすることも必要ですよね。
Parent: 2081  reply: 2087 返信 編集 削除

[2087] m(__)m

user: ヒデ | created: 2005-01-31 20:43
ありがとうございます。そういう処理も施していけるように改造していくよう、研究していこうと思います。それと同時に、やはり、6人も7人も同時にログインすると、話がバラバラになるので、4人ぐらいでストップする設定のスクリプトは無いでしょうかね?
Parent: 2083  reply: 2089 返信 編集 削除

[2089] 入室者名簿作成

user: ごいんきょ。 | created: 2005-01-31 23:57
HN無人さんの提案されたとおりの作業で、それは実現できると思いますよ。

Aさん、入室

IDを作成(IPやHNなどで可)して記録

Bさん、入室

入室者名簿を参照

名簿には1人分

入室許可、ID作成、記録

Cさん、入室

名簿には2人分

入室不可(2人までとした場合)

Aさん、ログアウト

名簿からAさん消去

Dさん、入室

名簿には1人分

室許可、ID作成、記録

というプロセスを、PHPで実現すればいいわけです。

なお、入室者がログアウト処理を行わないまま放置されると、その部屋がずっと密室状態となります。
なので、最終発言または継続処理をおこなった時間もとり、ログイン処理や他者の発言による更新時に、最終発言からの経過時間を出す必要があるわけです。
そのチェックに引っかかった場合、強制で名簿から削除すれば、自動でロックが解除されることになります。
Parent: 2087  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 485 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑