モジュール 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
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    NetworkChannel bind​(SocketAddress local)
    チャネルのソケットをローカル・アドレスにバインドします。
    SocketAddress getLocalAddress()
    このチャネルのソケットがバインドされているソケット・アドレスを返します。
    <T> T getOption​(SocketOption<T> name)
    ソケット・オプションの値を返します。
    <T> NetworkChannel setOption​(SocketOption<T> name, T value)
    ソケット・オプションの値を設定します。
    Set<SocketOption<?>> supportedOptions()
    このチャネルがサポートするソケット・オプションのセットを返します。

    インタフェース java.nio.channels.Channelで宣言されたメソッド

    close, isOpen
  • メソッドの詳細

    • 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()
      このチャネルがサポートするソケット・オプションのセットを返します。

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

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