|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.nio.channels.spi.AbstractInterruptibleChannel java.nio.channels.SelectableChannel java.nio.channels.spi.AbstractSelectableChannel java.nio.channels.ServerSocketChannel
public abstract class ServerSocketChannel
ストリーム型リスニングソケット用の選択可能なチャネルです。
サーバソケットチャネルは、リスニングネットワークソケットの完全な抽象化ではありません。ソケットオプションのバインドと操作は、socket
メソッド呼び出しによって取得した関連 ServerSocket
オブジェクトを介して行う必要があります。任意の既存サーバソケットのチャネルを作成したり、サーバソケットチャネルに関連したサーバソケットで SocketImpl
オブジェクトを使用するように指定したりすることはできません。
サーバソケットチャネルは、このクラスの open
メソッドを呼び出すと作成されます。新しく作成されたサーバソケットチャネルはオープンですが、未バインドです。未バインドのサーバソケットチャネルの accept
メソッドを呼び出そうとすると、NotYetBoundException
がスローされます。サーバソケットチャネルは、関連サーバソケットの bind
メソッドを呼び出すとバインドされます。
サーバソケットチャネルは、複数の並行スレッドで安全に使用できます。
コンストラクタの概要 | |
---|---|
protected |
ServerSocketChannel(SelectorProvider provider)
このクラスの新しいインスタンスを初期化します。 |
メソッドの概要 | |
---|---|
abstract SocketChannel |
accept()
このチャネルのソケットに対する接続を受け付けます。 |
static ServerSocketChannel |
open()
サーバソケットチャネルをオープンします。 |
abstract ServerSocket |
socket()
このチャネルに関連したサーバソケットを取得します。 |
int |
validOps()
このチャネルのサポートされている操作を識別する操作セットを返します。 |
クラス java.nio.channels.spi.AbstractSelectableChannel から継承されたメソッド |
---|
blockingLock, configureBlocking, implCloseChannel, implCloseSelectableChannel, implConfigureBlocking, isBlocking, isRegistered, keyFor, provider, register |
クラス java.nio.channels.SelectableChannel から継承されたメソッド |
---|
register |
クラス java.nio.channels.spi.AbstractInterruptibleChannel から継承されたメソッド |
---|
begin, close, end, isOpen |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
インタフェース java.nio.channels.Channel から継承されたメソッド |
---|
close, isOpen |
コンストラクタの詳細 |
---|
protected ServerSocketChannel(SelectorProvider provider)
メソッドの詳細 |
---|
public static ServerSocketChannel open() throws IOException
新しいチャネルは、システム全体のデフォルトである SelectorProvider
オブジェクトの openServerSocketChannel
メソッドを呼び出すと作成されます。
新しいチャネルのソケットは、初期状態では未バインドです。ソケットの bind
メソッドを使って特定のアドレスにバインドしないと、接続は受け付けられません。
IOException
- 入出力エラーが発生した場合public final int validOps()
サーバソケットチャネルは、新しい接続の受け付けだけをサポートします。したがって、このメソッドは SelectionKey.OP_ACCEPT
を返します。
SelectableChannel
内の validOps
public abstract ServerSocket socket()
返されるオブジェクトは、ServerSocket
クラスで宣言されていない public メソッドは宣言しません。
public abstract SocketChannel accept() throws IOException
このチャネルが非ブロックモードの場合、保留されている接続がなければ、このメソッドはただちに null を返します。それ以外の場合、新しい接続が利用可能になるか、入出力エラーが発生するまで無期限にブロックされます。
このメソッドによって返されるソケットチャネルは、このチャネルがブロックモードであってもそうでなくてもブロックモードになります。
このメソッドは、ServerSocket
クラスの accept
メソッドとまったく同じセキュリティチェックを実行します。セキュリティマネージャがインストールされている場合、このメソッドは、新しい接続それぞれについてリモートエンドポイントのアドレスとポート番号がセキュリティマネージャの checkAccept
メソッドによって許可されていることを確認します。
ClosedChannelException
- このチャネルがクローズしている場合
AsynchronousCloseException
- 受け付け操作の進行中に、別のスレッドによってこのチャネルがクローズされた場合
ClosedByInterruptException
- 受け付け操作の進行中に、現在のスレッドに対して別のスレッドから割り込みがあったためにチャネルがクローズし、現在のスレッドの割り込み状態が設定された場合
NotYetBoundException
- このチャネルのソケットが未バインドの場合
SecurityException
- セキュリティマネージャがインストールされていて、新しい接続のリモートエンドポイントへのアクセスが許可されていない場合
IOException
- その他の入出力エラーが発生した場合
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。