コンピューター100%

差分Javaチャット

サンプル
言語:JavaApplet(ジャバアプレット) & Perl

ダウンロード
(14KB)
内容・Javaアプレット用のコンパイル済みクラスファイル。[gapchat.class][gapchat$1.class][gapchat$2.class]
・Javaアプレットのソースファイル。[gapchat.java]
・Javaアプレットの設置例を示したHTMLファイル[sample.htm]
・書き込み用CGIスクリプトファイル[chatwrite.cgi]
・読み込み用CGIスクリプトファイル[chatread.cgi]
・カウント数値保存用ファイル[count.dat]
・書き込みメッセージ保存用ファイル[log.dat]
・日本語変換用ライブラリ[jcode.pl]
※[jcode.pl]はKazumasa Utashiro氏作のフリーの日本語コード変換用ライブラリです。
再配布可能のため含めてあります。最新版は以下のURLからダウンロードできます。
URL:ftp://ftp.iij.ad.jp/pub/IIJ/dist/utashiro/perl/
  • 差分Javaチャットとは?

  •  普通のチャットスクリプトですが、速度を速め、サーバーの負荷を減らすことに特化してあります。
     Javaアプレットを使い、更新されたメッセージだけを読み込むので通信量が減り、速度が向上します。
     読み込む際にアクセスするCGIは非常に軽く作ってあり、必要なデータだけ読み込んで送信するだけなので、チャットソフトにしては負荷が少なくなっています。
     シンプルに作ったため、チャット特有の「入室」「退室」のメッセージが表示されないので、ROMも可能なチャットソフトになっているということをご理解ください。
     
  • 動作環境

  •  Webサーバー側
      ・Perlが使用可能であること。(Servletは必要ありません)
     利用者側
      OS
      JavaVMがインストール済みで動作可能なすべてのOS.
      Windows95-XP/MacOS/Linux等。
      (Windows95-MEは標準でJavaVMが入っていますが、WindowsXPは標準でJavaVMが入っていませんのでダウンロードが必要です。ただしメーカー製PCでは入っていることもあります。)
      ブラウザ
        ・JavaAppletが使用可能なこと。

  • 各種設定

  • [chatwrite.cgi]メッセージ書き込み用CGI

    1行目にサーバーのPerlのパスを入れてください。
    #maxのすぐ下の行に、保持するログメッセージの数を指定してください。 Appletを起動して初めてアクセスした時にはここで指定して数だけ保存されているメッセージをすべて読み込みます。
    [chatread.cgi]メッセージ読み込み用CGI
    1行目にサーバーのPerlのパスを入れてください。
    [count.dat]カウント用ファイル
    0が入っています。
    [log.dat]メッセージ保存用ファイル
    空のファイルです。
    [jcode.pl]日本語コード変換用ライブラリ
    そのままで結構です。
    [チャット画面を表示するHTMLファイル](sample.htmをお使いになることもできます)
    以下のタグをチャット画面を表示したい位置にコピーしてください。
    <APPLET CODEBASE="./" CODE = "gapchat.class" WIDTH = "700" HEIGHT = "500"><PARAM VALUETYPE="DATA" NAME="CGIFOLODER" VALUE="http://localhost/cgi-bin/gapchat/"></APPLET>
    APPLETタグの[CODEBASE]にクラスファイルのあるフォルダを指定し、[CODE]にクラスファイル名を入れてください。
    PARAMタグの[VALUE]に書き込み・読み込みのCGIを設置したフォルダを絶対URLで指定します。

  • 設置方法

  • CGIファイルとカウンタファイル、メッセージログファイル、日本語コード変換用ライブラリをCGIの使えるフォルダに入れてください。
    パーミッションは次のとおりでよいと思いますが、お使いになるサーバーによって設定が違うときはそちらに従ってください。また、これらのファイルを入れるフォルダのパーミッションを777にしないと動作しない場合もあります。
    ファイル名パーミッション
    [chatwrite.cgi]755
    [chatread.cgi]755
    [count.dat]666
    [log.dat]666
    [jcode.pl]644
    JavaAppletのクラスファイルとチャット画面を表示するHTMLファイルも一緒に入れると便利です。ただし、CGI専用のフォルダの場合はそうでない別のフォルダに入れてください。
    いずれにせよ、チャット画面を表示するHTMLファイルの<APPLET>に含まれる<PARAM>タグ内の[VALUE]属性にCGIスクリプトを入れたフォルダ名を絶対URLで記述してください。最後は/(スラッシュ)で終わってください.。
    JavaAppletのクラスファイルとチャット画面を表示するHTMLファイルを別のフォルダに入れた場合は、チャット画面を表示するHTMLファイルの<APPLET>タグ内の[CODEBASE]属性にJavaAppletのクラスファイルを入れたフォルダ名を絶対もしくは相対URLで指定してください。

  • ファイル構成例

  • CGIとJavaAppletファイルを別のフォルダに入れた場合。
    public_html / cgi-bin / gapchat / 
    						chatwrite.cgi 書き込み用
    						chatread.cgi	読み込み用
    
    						count.dat カウント用
    						log.dat ログファイル
    						jcode.pl 変換
                  / chat / 
    				gapchat.class JavaAppletクラスファイル
    				gapchat$1.class JavaAppletクラスファイル
    				gapchat$2.class JavaAppletクラスファイル
    				gapchat.html チャット画面表示用HTMLファイル
    
    サイトのURLが[www.hogehoge.com]なら、<APPLET>タグは次のようになります。
    <APPLET CODEBASE="./" CODE = "gapchat.class" WIDTH = "700" HEIGHT = "500">
    <PARAM VALUETYPE="DATA" NAME="CGIFOLODER" VALUE="http://www.hogehoge.com/cgi-bin/gapchat/">
    </APPLET>
  • 設置後

  • ファイルをアップロードし、パーミッションと<PARAM>タグ内の[VALUE]属性にCGIスクリプトをアップロードしたフォルダ名を絶対URLで指定したら、動作確認を行ってください。
    1.チャット画面を表示するHTMLファイルにブラウザからアクセスします。
    2.[送信先]にCGIを入れたフォルダのURLが正しく表示されているか確認してください。
    3.何も入力せずに、[送る]ボタンをクリックします。
    4.何も書き込んでいないので、何も表示されません。
    5.名前とメッセージを記入し、[送る]ボタンをクリックします。
    6.名前と書き込んだメッセージが表示されます。
    不具合がありますか?

    (1)の手順時のエラー
     ・Not Found
      → 入力したアドレスの間違いか、その場所にアップロードできていない。
     ・アプレットが表示されない、「Exception:java.lang.ClassNotFoundException:gapchat.class」が表示される
      → アプレットのクラスファイル3つが同じフォルダにアップロードできていない。[CODEBASE]で指定した場合はそのフォルダにアップロードできていない。
      

    (2)の手順時のエラー
     ・[送信先]にCGIを入れたフォルダのURLが正しく表示されていない
      → <PARAM>タグ内の[VALUE]属性にCGIスクリプトを入れたフォルダ名を絶対URLで指定する。

    (3)の手順時のエラー

    (4)の手順時のエラー
     ・********** is not understand.
      → [送信先]テキストボックスに表示されているURLが正しくない。
     ・********** is not valid.
      → [送信先]テキストボックスに表示されているURLのうちホスト部分が正しくない。
     ・404 Not Found
      → [送信先]テキストボックスに表示されているURLのうちパスが正しくない。
      → [chatread.cgi]が正しくアップロードされていない。
     ・500 Internal Server Error
      → [chatread.cgi]の1行目のPerlのパスが正しくない。またはパーミッションが正しくない。

    (6)の手順時のエラー
     ・********** is not understand.
      → [送信先]テキストボックスに表示されているURLが正しくない。
     ・********** is not valid.
      → [送信先]テキストボックスに表示されているURLのうちホスト部分が正しくない。
     ・404 Not Found
      → [送信先]テキストボックスに表示されているURLのうちパスが正しくない。
      → [chatwrite.cgi]が正しくアップロードされていない。
     ・500 Internal Server Error
      → [chatwrite.cgi]の1行目のPerlのパスが正しくない。またはパーミッションが正しくない。
      → [count.dat]が正しくアップロードされていない。またはパーミッションが正しくない。
      → [log.dat]が正しくアップロードされていない。またはパーミッションが正しくない。
      → [jcode.pl]が正しくアップロードされていない。
     ・メッセージが表示されない
      → [count.dat]が正しくアップロードされていない。またはパーミッションが正しくない。
      → [log.dat]が正しくアップロードされていない。またはパーミッションが正しくない。
     

  • 使い方

  • 入室、退室機能はついてません。
    [送る]をクリックしたときに[メッセージ]が空なら他の人によって追加されたメッセージを読み込みます。
    [メッセージ]に文字が入っていれば、その文字を書き込みます。同時にメッセージも読み込みます。
    読み込みは名前が記入されていなくてもできますが、書き込みはできません。
    また、「ささやき」などの特定個人にメッセージを送ることはできません。
    メッセージを追加していくので、ブラウザを終了させない限り、ログからは削除されたメッセージも残ります。

  • 連絡先

  •  この差分Javaチャットの著作権はシップが所有します。個人で使用する範囲内での改変は結構ですが、その場合の再配布はオリジナルスクリプトの情報と、改変した個所を明記した上でしてください。
     JavaAppletの改変はソースファイルをJavaSDKを用いてコンパイルする必要があります。
     これはフリーソフトですが、寄付などは喜んでお受けしておりますので、メールでお問い合わせください。
     使ってくださる方は、掲示板かメールで一言くださるとうれしいですし、その後のサポートもスムーズに行えます。
     バグの報告もしていただけるなら助けになります。
     サーバーへの負荷を抑えるよう作ってありますが、大規模なチャットで参加者が頻繁に読み書きをしますとサーバーへの負荷がかかりすぎることにもなりかねません。
     また、このスクリプトを使ってもサーバー管理者から警告を受けない・削除されないということを保証するものではありません。
     設置は自己責任で行なってください。当サイトはそのような事態になっても一切責任は負いません。
     最後に、使ってくださる方々に感謝を込めて。
     13:42 2003/08/25

ページ内検索
文章内から検索:
ランキング
著作権表記
Copy right © Ship.
PR