【Java.NIO】API-Channelインタフェース-Server SocketChannelクラス
1702 ワード
java.nio.channels
public abstract class ServerSocketChann extends AbstractSelectableChannel implements NetworkChannel
ServerSocketChannelは、SelectableChannelからconfigureBlocking()メソッドとregister()メソッドを継承します.
ServerSocketChannelは、標準IOのServerSocketのように、新しく入ってきたTCP接続を監視できるチャネルです.
ServerSocketChannelにはpublicタイプのコンストラクションメソッドはありません.静的メソッドopen()でServerSocketChannelオブジェクトを作成する必要があります.各ServerSocketChannelオブジェクトは、1つのServerSocketオブジェクトに関連付けられています.ServerSocketChannelのsocket()メソッドは、彼に関連付けられたServerSocketオブジェクトを返します.サーバ・プロセスは、次の方法でローカル・ポートにバインドできます.
serverSocketChannel.socket().bind(port);
ServerSocketChannelの主な方法は次のとおりです.
ServerSocketChannel serverSocketChannel = ServerSocketChannel.open();
serverSocketChannel.socket().bind(new InetSocketAddress(9999));
serverSocketChannel.configureBlocking(false);
while(true){
SocketChannel socketChannel = serverSocketChannel.accept();
if (socketChannel != null){
// do something with socketChannel... ...
}
}