チャットに関して、ユーザ(※)の導入・利用が簡単な方法を模索中。
今利用している方法は、ユーザの導入という点では、以下のような問題があり。
1.導入
IRC
・専用クライアントが必要。ただし、資料も多く敷居は低い。
みんなのチャット♪
・専用クライアントが必要。エラーメッセージがちょっと不親切。
おーにちゃっとサーバ
・対応したクライアントを探してきて導入する必要あり。標準として推奨できるようなフリーのものは無い。
WEBチャット
・なし。WEBブラウザがあればOK。
2.利用
IRC
・名前に日本語が使えない。
・繋がっているサーバ群内で、同名が利用できない。
みんなのチャット♪
・PRIVMSG系がログに残らないぐらい?
おーにちゃっとサーバ
・コマンド形態が基本的にCUI。
・文字に装飾不可。
・接続再起に関する情報をIP+Portでやり取りする必要あり。
WEBチャット
・cgiによる。一般的に、更新サイクルが長い。
余禄.サーバ導入
IRC
・必要なし。
みんなのチャット♪
・利用ポートが多く、ルータ/Firewallの設定はネットワークの知識が必要。
・参加者のいずれかがサーバになる必要あり。
おーにちゃっとサーバ
・デフォルトが通常公開されないknownportのためプロバイダによっては不可(portをずらせばOK)
・ルータ/firewallの設定が必要。
・誰かの設置したものを、みんなで利用することは可能(自宅内サーバにする必要あり)
WEBチャット
・一般的なCGIと同様。プロバイダによっては、禁止している可能性あり。
・誰かの設置したものを、みんなで利用することは可能。
このほか、今のところ使用していない方法としてWEBとJavaApplet/Flashを組み合わせて接続を維持したシステムがある。上記の項目に当てはめると以下のような感じ。
1.導入
Flashは導入済みであることが多い。
JavaAppletも実行環境が導入済みである可能性がある。
2.利用
WEBチャット同様、サーバ次第。
余禄.サーバ導入
自宅内サーバにhttpdと専用プロセスを起動する必要あり。
上記を総合して、以下のようなチャット環境を考える。
・サーバはサーバ用アプリケーションを使用する。
・クライアントはWEBブラウザ+JavaAppletを使用する。
・使用ポートは、http用80と、チャットの常時接続で+1(どちらも変更可能)
・リンカーとなる共通CGIを提供する(自サイト内に固定URL。デフォルト値)
・サーバアプリケーションからリンカーへの接続はhttpを使用する。
・クライアントはJavaAppletによりサーバに持続接続する。
そうすると、必要となるのは、
1−0.サーバとなるプログラム(共通部)
リンカーへの登録。
1−1.サーバとなるプログラム(http部)
ブラウザからの要求に対し、Appletの定義を含んだhtml及びApplet本体を返す。
1−2.サーバとなるプログラム(ソケット接続部)
JavaAppletからの接続を受け入れ、チャットを行う。
リンカーへの情報更新。
リンカーからのpingにpongを返す。
2.クライアントとなるプログラム
サーバに接続にチャットを行う。
JavaApplet?
3.リンカーとなるプログラム
一般的なプロバイダ用CGI。perlもしくはphp。
可能であれば、pingを各登録サーバに送信することも行いたい。
うーむ、どうしたもんだか。
Recent Comments