Perlでチャット(1) 他人のコードを読む
以前Perlで掲示板を作ったので、次はチャットを作る。
掲示板のときはPerlが初めてだったのでいろいろ参考書を借りてきたけど、今回は基礎知識もあるしめんどいので参考書は無しで。
とりあえず他人のソースコードを読んでみる。
KENT WEB(http://www.kent-web.com/)のPONNY CHATというスクリプトを覗かせてもらった。
■メインルーチン
・&decode(デコード)
・modeの値によっていくつかのモードへ分岐
→&form1(入室時)
→&form2(発言部)
→®ist(ログ書き込み処理)
→&byebye
・&log_view(記事表示)
■form1
名前などの入力フォーム。
送信後&form2に。
■form2
®ist(入室メッセージ表示)
JavaScriptによる発言自動消去
発言、リロード時間などのフォーム
退室→&byebye
■log_view
リロード処理(METAタグで指定秒数後refresh)
ログファイルを表示
■regist
日付の取得、入退室時の表示メッセージの処理
ロック開始
ログファイルに書き込み
ロック解除
■byebye
®ist(退室メッセージ処理)
退室画面
■lock
ロックファイル処理
基本は掲示板を作ったときのノウハウで作れるな。というか入退室についてもっと特別な処理があるかと思ったが、少なくともこのスクリプトには存在しなかった。ただファイルロックだけは不勉強だった。
ログファイルに同時に書き込もうとするとファイルが破損する恐れがあるから、他人が書き込んでいるときは書き込めないようにする、というもの。というかこれ掲示板でもやらなきゃいけないじゃん・・・俺やってなかった。
まあ作った掲示板はそもそも大きい規模のものじゃないし、全く同時に書き込む
場面も相当稀なはずなんだけど。後で改良することにしよう