|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
java.lang.Object
|
+--java.nio.channels.spi.AbstractInterruptibleChannel
|
+--java.nio.channels.SelectableChannel
|
+--java.nio.channels.spi.AbstractSelectableChannel
|
+--java.nio.channels.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 内の validOpspublic abstract ServerSocket socket()
返されるオブジェクトは、ServerSocket クラスで宣言されていない公開メソッドは宣言しません。
public abstract SocketChannel accept()
throws IOException
このチャネルが非ブロックモードの場合、保留されている接続がなければ、このメソッドはただちに null を返します。それ以外の場合、新しい接続が利用可能になるか、入出力エラーが発生するまで無期限にブロックされます。
このメソッドによって返されるソケットチャネルは、このチャネルがブロックモードであってもそうでなくてもブロックモードになります。
このメソッドは、 ServerSocket クラスの accept メソッドとまったく同じセキュリティチェックを実行します。セキュリティマネージャがインストールされている場合、このメソッドは、新しい接続 1 つ 1 つのリモートエンドポイントのアドレスとポート番号がセキュリティマネージャの checkAccept メソッドによって許可されていることを確認します。
ClosedChannelException - このチャネルがクローズしている場合
AsynchronousCloseException - 受け付け操作の進行中に、別のスレッドによってこのチャネルがクローズされた場合
ClosedByInterruptException - 受け付け操作の進行中に、現在のスレッドに対して別のスレッドから割り込みがあったためにチャネルがクローズし、現在のスレッドの割り込み状態が設定された場合
NotYetBoundException - このチャネルのソケットが未バインドの場合
SecurityException - セキュリティマネージャがインストールされていて、新しい接続のリモートエンドポイントへのアクセスが許可されていない場合
IOException - その他の入出力エラーが発生した場合
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.