Memorandums?

This blog is written about technical-discoveries and daily-events.

Socket通信アプリケーション備忘録 No.1

Server

必要メソッド

  • AnimationTimer
  • ServerContoroller
  • 各クライアントスレッド

サーバーGUIに描画する機能

目的

サーバー側GUIを更新する

備考

AnimationTimerを使用する
AnimationTimerは、常時自動更新する

実装方法

モデルクラスのフラグを常に監視し、フラグが立っているならば、
リストを読み取り、サーバー側GUIに描画する。
最後にフラグをfalseにする

常時クライアント受け付け機能

目的

クライアントからの通信を受け付ける

実装方法

常時監視スレッドで、クライアントからのオブジェクトを受け取る
受け取ったら、モデルクラスのリストを更新し、フラグを立てる。

サーバーのイベントを拾う機能

目的

サーバー側のイベントを自身の画面に反映する

備考

コントローラーのイベント処理メソッドからイベントの有無を取得する

実装方法

イベントが発生すれば、モデルクラスのリストを更新し、フラグを立てる。
更新さえすれば、あとは「サーバーGUIに描画する機能」におまかせ

変化を各クライアントに伝える機能

目的

各クライアントにサーバーやその他クライアントの変更を伝え、更新する

備考

それぞれのサーバーが用意したクライアントスレッドからwriteしないといけない

実装方法

AnimationTimerによって更新されたモデルクラスの変更フラグが立っているとき、
各クライアントスレッドは、データをクライアントに送信する


あとでいい

リスト・ファイル変換機能

目的

リストは、アプリケーション終了後の保存ができない。
ファイルは、扱いづらい。
この2点から、同期機能が必要

備考

ファイルについては、アプリケーション終了後もファイル読み込みにて
情報を復活させるために用いる