talktool.network
ネットワークとその入出力関する部分を解説します。
talktoolは以下のようなクラスを含みます。
- NetInfo
- Communicator
- Network
NetInfoはネットワークに関する情報を一括して管理するためのクラスです。
それ自身はネットワークを直接操作するわけではありません。
単に情報を設定もしくは取り出すために利用されます。
パッケージ外部からも呼び出せる publicなメソッドを4個用意しています。
- boolean isServer() サーバーであるか否かを返します。
- boolean isClient() クライアントであるか否かを返します。
- String getServerName() サーバーのマシン名を返します。
- int getPortNumber() 使用するポート番号を返します。
Communicatorは NetInfoの情報を元にして実際に Socketを生成し、
そこへの入出力の手段を提供します。
パッケージ外部からも呼び出せる publicなメソッドを3個用意しています。
パッケージの外部からは Socketのオブジェクトには直接はアクセスできません。
その存在は Communicatorクラスの内部に隠されています。
- boolean isReadable() ソケットから読み込み可能なデータがあるか
否かを返します。
- String getText() ソケットから読み込んだテキストの情報を Strigクラス
のオブジェクトとして返します。
- void setText( String ) ソケットに Stringクラスのオブジェクトとして
与えられたテキストの情報を書き込みます。
Networkは NetInfo の情報を元に Communicator のオブジェクトを生成します。
アプリケーションからネットワークへのインターフェイスを提供します。
パッケージ外部からも呼び出せる publicなメソッドを3個用意しています。
- NetInfo getNetInfo() NetInfoのオブジェクトを返します。
- Communicator getCommunicator() Communicatorのオブジェクトを返します。
- void init() ネットワークの初期設定を実行します。
コンストラクタとは別にこのメソッドが必要になる理由は、
サーバーとして起動された時にクライアントの接続を待つルーチンを
実行させるためです。
ソースファイル