memo:イベントリスナの話が早い
ですよ。ちょっとずつやっていこう。
教科書見ながら作ったチャットクライアントの一部
private var timer3:Timer = new Timer(1300); private var str:String = ""; //progress event private function socketDataHandler(evt:ProgressEvent):void { str = tfSend.text;//逃がして tfSend.text = "読み込み中";//取り替える timer3.addEventListener(TimerEvent.TIMER, onPs); timer3.start(); var text:String = socket.readUTFBytes(socket.bytesAvailable); tfView.text = text + "\n" + tfView.text; //実際は入力領域を勝手に切り替えられるとユーザーは「アーッ!」ってなるので //StatusNotice領域とかを用意すべき } private function onPs(evt:TimerEvent):void { timer3.reset(); tfSend.text = str; }
リスナとかタイマとかその辺の話が早いので楽です。
>>timer3.addEventListener(TimerEvent.TIMER, onPs);
のonPsは他の言語で言うところの関数ポインタみたいなものだけど"TimerEvent.TIMER"の
辺りがとても楽。
サーバ部分を何で作るか。。。
教科書はJavaだから僕はC#でやってみようかな。タイマで回すとかスレッドプールとか色々あるみたい。
スレッドプールはクライアントが増えるとしんどくなりそう。
タイマは処理待ち時間が無駄でタイマ間隔を短くしすぎるとやっぱりしんどそう。
はてさて。