EeBlog(テクニカルブログ)

第111 回 ソケットチャンネルの入出力

引き続き「ソケットチャンネルの入出力」です。

ServerSocketChannel、SocketChannelはSelectableChannelを継承しています。
このチャンネルにはconfigureBlockingメソッドによりブロックモードを設定できます。
ブロックモードが非ブロックに設定された場合、入出力による待機が発生しません。
したがって、非ブロックモードの場合、入出力を行うタイミングが解らなければなりません。
そのためにはセレクタ(Selector)を使用します。
セレクタにはあらかじめチャンネルを登録しておきます。
そしてSelectorのselectメソッドは、登録されたチャンネルのうち入出力が可能なチャンネルを選択してくれます。
(さらに…)

第110回 ソケットチャンネルの入出力

引き続き「ソケットチャンネルの入出力」です。

前回はサーバ側のプログラムを実装したので、今回はクライアント側のプログラムを実装してみたいと思います。
なお、前回のサーバプログラムはHTTPのようにステートレスなものとして実装しているため、今回のプログラムもそれにあわせた形で実装します。(1回の送受信で接続は切断される)

次のサンプルコードは前回作成したサーバに接続し、通信を行うプログラムです。

(さらに…)

第109回 ソケットチャンネルの入出力

今回のテーマは「ソケットチャンネルの入出力」です。

以前、ストリームの入出力によりソケット通信を行うことについて書きましたが、チャンネルの入出力によりソケット通信を行うこともできます。

次のサンプルコードはサーバを起動し、クライアントの接続要求に応答するプログラムです。
(さらに…)