WEBサイトの製作、管理、とかの日記ブログです。

<<   2023年05月   >>
SunMonTueWedThuFriSat
 123456
78910111213
14151617181920
21222324252627
28293031   
新着記事
カテゴリ
過去ログ
コメント
検索
チャットとかのテストやってみようかと・・・
この前rentafreeにグループウェア追加を真面目に考えたときに、
チャット機能があった方がいいな・・・
思って、チャットは厳しいかな・・・
思ってたわけだが、
チャットについて真面目に考えてみた。

CGIでリロード連打するようなのは論外で、
サーバーとクライアントで応答せずにつなぎっぱにして、
投稿があったら応答して切断。
って感じになるが、
メインのWEBサーバーで接続維持してたらapache死んじゃう。
ってわけで、サーバーも自前で作る必要がある。

サーバーとの接続はAjaxとかJSONPになるから、HTTP通信になる。
JSONPでつなぎっぱするのよくない気がするんで、Ajaxのがいい気がする。

PerlでHTTP鯖作るのは、HTTP::Daemonってのが簡単そう。
スレッド使ったコードも見たから、マルチスレッドももOKぽい。
forkじゃプロセス数増えすぎちゃうからダメだし。
と思ったが、
何も返さないんだから、処理時間はかからんし、
マルチスレッドじゃなくて受信と応答の2スレッドでもできんのか?
要実験だな。

80番はメインのapacheだから、
チャット用サーバーは80以外になり、
クロスポートは普通はAjaxできないんで、
Access-Control-Allow-Originヘッダつける必要がある。
対応してないブラウザはダメだが、IEも対応してるらしいからほぼ平気ぽい。
ヘッダがあればクロスポートやクロスドメインでAjaxできる。
Access-Control-Allow-Originヘッダってやつは、メソッド見てGETやPOST以外にも対応しなきゃいけないかな?
GET以外で待機したらもったいないから、メソッド判別必要かな。

投稿受付の方はメインのApacheでやって、
待機サーバーとの通信は名前付きパイプで考えてる。
そうすれば、待機も自動でやってくれるし、
ディレクトリ見れば同時接続数とかもわかる。
と思ったが、確実に即読み込みできない場合も考えられるか?
メイン鯖止まったらまずいから、よく考える必要あるかもな・・・


まあ、そんな感じで近いうちに実験してみよかな考えてる。
この記事へのコメント
名前:
URL
コメント:
この記事へのトラックバック :
whblog 1.7