モジュール java.base
パッケージ java.nio.channels

インタフェースNetworkChannel

  • すべてのスーパー・インタフェース:
    AutoCloseable, Channel, Closeable
    既知のすべてのサブインタフェース:
    MulticastChannel
    既知のすべての実装クラス:
    AsynchronousServerSocketChannel, AsynchronousSocketChannel, DatagramChannel, ServerSocketChannel, SocketChannel

    public interface NetworkChannel
    extends Channel
    ネットワーク・ソケットへのチャネル。

    このインタフェースを実装するチャネルは、ネットワーク・ソケットへのチャネルです。 bindメソッドは、ソケットをローカル・アドレスにバインドするために使用され、getLocalAddressメソッドは、ソケットのバインド先のアドレスを返し、setOptionメソッドとgetOptionメソッドは、ソケット・オプションを設定して照会するために使用されます。 このインタフェースの実装では、サポートされるソケット・オプションを指定してください。

    bindメソッドとsetOptionメソッドのうち戻り値を返さないものは、自身を呼び出したネットワーク・チャネルを返します。 これを応用して、メソッド呼出しを連鎖させることができます。 このインタフェースの実装は、この実装クラスのメソッド呼出しを連鎖できるように、戻り型を特殊化することをお薦めします。

    導入されたバージョン:
    1.7
    • メソッドの詳細

      • bind

        NetworkChannel bind​(SocketAddress local)
                     throws IOException
        チャネルのソケットをローカル・アドレスにバインドします。

        このメソッドは、ソケットとローカル・アドレスとの間の関連付けを確立するために使用されます。 関連付けが確立されると、ソケットはチャネルが閉じられるまでバインドされたままになります。 localパラメータの値がnullの場合、ソケットは自動的に割り当てられるアドレスにバインドされます。

        パラメータ:
        local - ソケットのバインド先のアドレス、または自動的に割り当てられるソケット・アドレスにソケットをバインドする場合はnull
        戻り値:
        このチャネル
        例外:
        AlreadyBoundException - ソケットがすでにバインドされている場合
        UnsupportedAddressTypeException - 指定されたアドレスのタイプがサポート対象外の場合
        ClosedChannelException - チャネルがクローズしている場合
        IOException - その他の入出力エラーが発生した場合
        SecurityException - セキュリティ・マネージャがインストールされ、それが未指定のアクセス権を拒否する場合。 このインタフェースの実装は、必要なアクセス権を指定するべきです。
        関連項目:
        getLocalAddress()
      • getLocalAddress

        SocketAddress getLocalAddress()
                               throws IOException
        このチャネルのソケットがバインドされているソケット・アドレスを返します。

        チャネルがInternet Protocolソケット・アドレスにバインドされている場合は、このメソッドからの戻り値の型はInetSocketAddressです。

        戻り値:
        ソケットのバインド先のソケット・アドレス、またはチャネルのソケットがバインドされていない場合はnull
        例外:
        ClosedChannelException - チャネルがクローズしている場合
        IOException - 入出力エラーが発生した場合
      • setOption

        <T> NetworkChannel setOption​(SocketOption<T> name,
                                     T value)
                              throws IOException
        ソケット・オプションの値を設定します。
        型パラメータ:
        T - ソケット・オプション値のタイプ
        パラメータ:
        name - ソケット・オプション
        value - ソケット・オプションの値。 一部のソケット・オプションに対しては、nullの値が有効な値である場合があります。
        戻り値:
        このチャネル
        例外:
        UnsupportedOperationException - チャネルがソケット・オプションをサポートしていない場合
        IllegalArgumentException - 値がこのソケット・オプションに対して有効な値でない場合
        ClosedChannelException - このチャネルがクローズしている場合
        IOException - 入出力エラーが発生した場合
        関連項目:
        StandardSocketOptions
      • getOption

        <T> T getOption​(SocketOption<T> name)
                 throws IOException
        ソケット・オプションの値を返します。
        型パラメータ:
        T - ソケット・オプション値のタイプ
        パラメータ:
        name - ソケット・オプション
        戻り値:
        ソケット・オプションの値。 一部のソケット・オプションに対しては、nullの値が有効な値である場合があります。
        例外:
        UnsupportedOperationException - チャネルがソケット・オプションをサポートしていない場合
        ClosedChannelException - このチャネルがクローズしている場合
        IOException - 入出力エラーが発生した場合
        関連項目:
        StandardSocketOptions
      • supportedOptions

        Set<SocketOption<?>> supportedOptions()
        このチャネルがサポートするソケット・オプションのセットを返します。

        このメソッドは、チャネルが閉じられたあとでも引き続きオプションのセットを返します。

        戻り値:
        このチャネルでサポートされるソケット・オプションのセット