マルチスレッド通信
今回は技術的な話になります。
メッセンジャーを作るということは、常にサーバと通信して
メッセージが届いていないかを確認する必要があります。
携帯電話はサーバからメッセージを通知するような通信方式は利用できないため、
必ず携帯電話側からサーバへデータを取りに行く必要があるので、
一定間隔でサーバに通信するようにすることにします。
しかし、現状のi-modeの通信は 接続するのに4~5秒の時間を要するため、
リアルタイム性という観念からは少々難がありますが、今回は下記のような方式をとることにします。
1.通信は描画処理などとは別のスレッドで平行して処理を行う
(通信中に文字入力などが止まってしまわないようにする)
2.通信は10秒間隔で行うが、前回の通信が終了していない場合はその通信が終了してから実行するようにする
3.通信先はキューで管理し、キューにデータがない場合は
メッセージやメンバーのオンライン情報を取得ためのプログラムと通信を行う
(キューに通信先を追加することで、プログラム側で例外的な通信先を指定することが出来るようにする)
このような感じでアプリ内の通信は管理することにします。


