一、ServerSocketChannel
1)、ServerSocketChannelは、サーバー側で新しいクライアントソケット接続を監視します
2)、パブリック抽象クラスServerSocketChannelはAbstractSelectableChannelを拡張し、NetworkChannelを実装します
3)、関連する方法
方法 | 説明 |
---|---|
public static ServerSocketChannel open() | ServerSocketChannelチャネルを取得します |
public final ServerSocketChannel bind(SocketAddress local) | サーバーのポート番号を設定します |
public final SelectableChannel configureBlocking(boolean block) | ブロッキングモードまたは非ブロッキングモードを設定し、falseに設定して非ブロッキングモードを使用します |
public abstract SocketChannel accept() | 接続を受け入れ、この接続を表すチャネルオブジェクトを返します |
public final SelectionKey register(Selector sel、int ops) | セレクターを登録し、リスニングイベントを設定します |
二、SocketChannel
1)、SocketChannel、ネットワークIOチャネル、特に読み取りおよび書き込み操作を担当します。NIOは、バッファ内のデータをチャネルに書き込むか、チャネル内のデータをバッファに読み取ります
2)、パブリック抽象クラスSocketChannelはAbstractSelectableChannelを
拡張し、ByteChannel、ScatteringByteChannel、GatheringByteChannel、NetworkChannelを実装します
3)、関連する方法
方法 | 説明 |
---|---|
public static SocketChannel open() | SocketChannelチャネルを取得します |
public final SelectableChannel configureBlocking(boolean block) | ブロッキングモードまたは非ブロッキングモードを設定し、falseに設定して非ブロッキングモードを使用します |
public abstract boolean connect(SocketAddress remote) | サーバーに接続します |
public abstract boolean finishConnect() | 接続メソッドが接続に失敗した場合、次のステップは、finishConnectメソッドを介して接続操作を完了することです。 |
public abstract int write(ByteBuffer src) | チャネルにデータを書き込む |
public abstract int read(ByteBuffer dst) | チャネルからデータを読み取る |
public final SelectionKey register(Selector sel、int ops、Object att) | セレクターを登録し、リスニングイベントを設定します。最後のパラメーターは、データを共有するように設定できます。 |
public final void close() | チャネルを閉じる |