クラスDatagramSocketImpl

java.lang.Object
java.net.DatagramSocketImpl
すべての実装されたインタフェース:
SocketOptions

public abstract class DatagramSocketImpl extends Object implements SocketOptions
抽象データグラ およびマルチキャスト・ソケットを実装する基底クラスです。
導入されたバージョン:
1.1
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    protected FileDescriptor
    ファイル記述子オブジェクトです。
    protected int
    ローカル・ポート番号です。
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    サブクラスが呼び出すためのコンストラクタ。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    protected abstract void
    bind(int lport, InetAddress laddr)
    データグラ ・ソケットをローカルのポートおよびアドレスにバインドします。
    protected abstract void
    ソケットを閉じます。
    protected void
    connect(InetAddress address, int port)
    データグラ ・ソケットをリモート接続先に接続します。
    protected abstract void
    データグラ ・ソケットを作成します。
    protected void
    リモート接続先からデータグラ ・ソケットを切り離します。
    protected FileDescriptor
    データグラ ・ソケットのファイル記述子を取得します。
    protected int
    ローカル・ポートを取得します。
    protected <T> T
    ソケット・オプションを取得するために呼び出されます。
    protected abstract int
    TTL (有効期間)オプションを取得します。
    protected abstract byte
    削除予定のため非推奨: このAPI要 は、将来のバージョンで削除される可能性があります。
    代わりにgetTimeToLiveを使用してく さい。
    protected abstract void
    join(InetAddress inetaddr)
    マルチキャスト・グループに参 します。
    protected abstract void
    マルチキャスト・グループに参 します。
    protected abstract void
    leave(InetAddress inetaddr)
    マルチキャスト・グループから離れます。
    protected abstract void
    マルチキャスト・グループから離れます。
    protected abstract int
    パケットを調べて、パケットの送信者を確認します。
    protected abstract int
    パケットを調べて、パケットの送信者を確認します。
    protected abstract void
    データグラ ・パケットを受信します。
    protected abstract void
    データグラ ・パケットを送信します。
    protected <T> void
    setOption(SocketOption<T> name, T value)
    ソケット・オプションを設定するために呼び出されます。
    protected abstract void
    setTimeToLive(int ttl)
    TTL (有効期間)オプションを設定します。
    protected abstract void
    setTTL(byte ttl)
    削除予定のため非推奨: このAPI要 は、将来のバージョンで削除される可能性があります。
    代わりにsetTimeToLiveを使用してく さい。
    protected Set<SocketOption<?>>
    このimplおよびこのimplのソケット(DatagramSocketまたはMulticastSocket)によってサポートされるSocketOptionsのセットを返します

    クラスjava.lang.Objectで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    インタフェースjava.net.SocketOptionsで宣言されたメソッド

    getOption, setOption
  • フィールド詳細

    • localPort

      protected int localPort
      ローカル・ポート番号です。
    • fd

      protected FileDescriptor fd
      ファイル記述子オブジェクトです。
  • コンストラクタの詳細

    • DatagramSocketImpl

      public DatagramSocketImpl()
      サブクラスが呼び出すためのコンストラクタ。
  • メソッドの詳細

    • create

      protected abstract void create() throws SocketException
      データグラ ・ソケットを作成します。
      スロー:
      SocketException - 使用しているプロトコルでエラー(TCPエラーなど)が発生した 合。
    • bind

      protected abstract void bind(int lport, InetAddress laddr) throws SocketException
      データグラ ・ソケットをローカルのポートおよびアドレスにバインドします。
      パラメータ:
      lport−ローカル・ポート
      laddr−ローカル・アドレス
      スロー:
      SocketException - 使用しているプロトコルでエラー(TCPエラーなど)が発生した 合。
    • send

      protected abstract void send(DatagramPacket p) throws IOException
      データグラ ・パケットを送信します。 パケットには、データと、パケットの送信先アドレスとが含まれています。
      パラメータ:
      p−送信されるパケット。
      スロー:
      IOException−データグラ ・パケットの送信中に入出力例外が発生した 合。
      PortUnreachableException - 現在到達不可能になっている宛先にソケットが接続されている 合にスローされる可能性があります。 例外が必ずスローされるとは限らないことに注意。
    • connect

      protected void connect(InetAddress address, int port) throws SocketException
      データグラ ・ソケットをリモート接続先に接続します。 これは、リモート・アドレスをローカル・ソケットに関連付け、データグラ の送受信をこの接続先に対して け行えるようにします。 これをオーバーライドして、ネイティブのシステ 接続が呼び出されるようにしてもかまいません。

      ソケットを接続するリモート接続先が存在しないか到達不可能の 合、およびそのアドレスに対するICMP転送先到達不能パケットを受信した 合は、以降の送信または受信呼出しでPortUnreachableExceptionがスローされることがあります。 例外が必ずスローされるとは限らないことに注意。

      実装要件:
      このメソッドのデフォルト実装は、SocketExceptionをスローします。
      パラメータ:
      address−接続先のリモートInetAddress
      port−リモート・ポート番号
      スロー:
      SocketException−リモート接続先にソケットを接続できない 合にスローされる可能性があります。
      導入されたバージョン:
      1.4
    • disconnect

      protected void disconnect()
      リモート接続先からデータグラ ・ソケットを切り離します。
      実装要件:
      このメソッドのデフォルト実装は、UncheckedIOExceptionをスローします。
      スロー:
      UncheckedIOException - 切断が失敗した 合、または実装が指定されていない 合
      導入されたバージョン:
      1.4
    • peek

      protected abstract int peek(InetAddress i) throws IOException
      パケットを調べて、パケットの送信者を確認します。 指定されたInetAddressをパケットの送信元アドレスで更新します。
      パラメータ:
      i−InetAddressオブジェクト
      戻り値:
      パケットの送信元ポート番号。
      スロー:
      IOException - 入出力例外が発生した 合
      PortUnreachableException - 現在到達不可能になっている宛先にソケットが接続されている 合にスローされる可能性があります。 例外が必ずスローされるとは限らないことに注意。
    • peekData

      protected abstract int peekData(DatagramPacket p) throws IOException
      パケットを調べて、パケットの送信者を確認します。 指定されたDatagramPacketにデータがコピーされます。 データは返されますが使用されません。したがって、その後のPeekDataまたは受信操作では同じデータを確認します。
      パラメータ:
      p - 受信したパケット。
      戻り値:
      パケットの送信元ポート番号。
      スロー:
      IOException - 入出力例外が発生した 合
      PortUnreachableException - 現在到達不可能になっている宛先にソケットが接続されている 合にスローされる可能性があります。 例外が必ずスローされるとは限らないことに注意。
      導入されたバージョン:
      1.4
    • receive

      protected abstract void receive(DatagramPacket p) throws IOException
      データグラ ・パケットを受信します。
      パラメータ:
      p - 受信したパケット。
      スロー:
      IOException−データグラ ・パケットの受信中に入出力例外が発生した 合。
      PortUnreachableException - 現在到達不可能になっている宛先にソケットが接続されている 合にスローされる可能性があります。 例外が必ずスローされるとは限らないことに注意。
    • setTTL

      @Deprecated(forRemoval=true, since="1.2") protected abstract void setTTL(byte ttl) throws IOException
      削除予定のため非推奨: このAPI要 は、将来のバージョンで削除される可能性があります。
      代わりにsetTimeToLiveを使用してく さい。
      TTL (有効期間)オプションを設定します。
      パラメータ:
      ttl−TTL値を指定するバイト
      スロー:
      IOException - 有効期間オプションの設定中に入出力例外が発生した 合。
      関連 目:
    • getTTL

      @Deprecated(forRemoval=true, since="1.2") protected abstract byte getTTL() throws IOException
      削除予定のため非推奨: このAPI要 は、将来のバージョンで削除される可能性があります。
      代わりにgetTimeToLiveを使用してく さい。
      TTL (有効期間)オプションを取得します。
      戻り値:
      TTL値を表すバイト
      スロー:
      IOException - 有効期間オプションの取得中に入出力例外が発生した 合
      関連 目:
    • setTimeToLive

      protected abstract void setTimeToLive(int ttl) throws IOException
      TTL (有効期間)オプションを設定します。
      パラメータ:
      ttl−有効期間値を指定するint
      スロー:
      IOException - 有効期間オプションの設定中に入出力例外が発生した 合。
      関連 目:
    • getTimeToLive

      protected abstract int getTimeToLive() throws IOException
      TTL (有効期間)オプションを取得します。
      戻り値:
      有効期間値を表すint
      スロー:
      IOException - 有効期間オプションの取得中に入出力例外が発生した 合
      関連 目:
    • join

      protected abstract void join(InetAddress inetaddr) throws IOException
      マルチキャスト・グループに参 します。
      パラメータ:
      inetaddr−参 するマルチキャスト・アドレス。
      スロー:
      IOException−マルチキャスト・グループへの参 中に入出力例外が発生した 合。
    • leave

      protected abstract void leave(InetAddress inetaddr) throws IOException
      マルチキャスト・グループから離れます。
      パラメータ:
      inetaddr−離れるマルチキャスト・アドレス。
      スロー:
      IOException−マルチキャスト・グループから離れる際に入出力例外が発生した 合。
    • joinGroup

      protected abstract void joinGroup(SocketAddress mcastaddr, NetworkInterface netIf) throws IOException
      マルチキャスト・グループに参 します。
      パラメータ:
      mcastaddr−参 に使用するアドレス。
      netIf−マルチキャスト・データグラ ・パケットを受信するローカル・インタフェースを指定
      スロー:
      IOException−マルチキャスト・グループへの参 中に入出力例外が発生した 合
      導入されたバージョン:
      1.4
    • leaveGroup

      protected abstract void leaveGroup(SocketAddress mcastaddr, NetworkInterface netIf) throws IOException
      マルチキャスト・グループから離れます。
      パラメータ:
      mcastaddr−離れるアドレス。
      netIf−グループを離れるローカル・インタフェースを指定
      スロー:
      IOException−マルチキャスト・グループから離れる際に入出力例外が発生した 合
      導入されたバージョン:
      1.4
    • close

      protected abstract void close()
      ソケットを閉じます。
    • getLocalPort

      protected int getLocalPort()
      ローカル・ポートを取得します。
      戻り値:
      ローカル・ポートの値を表すint
    • getFileDescriptor

      protected FileDescriptor getFileDescriptor()
      データグラ ・ソケットのファイル記述子を取得します。
      戻り値:
      データグラ ・ソケットのファイル記述子を表すFileDescriptorオブジェクト
    • setOption

      protected <T> void setOption(SocketOption<T> name, T value) throws IOException
      ソケット・オプションを設定するために呼び出されます。
      実装要件:
      このメソッドのデフォルト実装では、最初に指定のソケット・オプションのnameがnullでないことがチェックされた後、 UnsupportedOperationExceptionがスローされます。 サブクラスは、このメソッドを適切な実装でオーバーライドする必要があります。
      型パラメータ:
      T - ソケット・オプション値のタイプ
      パラメータ:
      name - ソケット・オプション
      value - ソケット・オプションの値。 nullの値は、一部のオプションに対して有効な 合があります。
      スロー:
      UnsupportedOperationException - DatagramSocketImplがオプションをサポートしない 合
      IllegalArgumentException - 値がオプションに対して有効でない 合
      IOException - I/Oエラーが発生した 合またはソケットが閉じられた 合
      NullPointerException - nameがnullの 合
      導入されたバージョン:
      9
    • getOption

      protected <T> T getOption(SocketOption<T> name) throws IOException
      ソケット・オプションを取得するために呼び出されます。
      実装要件:
      このメソッドのデフォルト実装では、最初に指定のソケット・オプションのnameがnullでないことがチェックされた後、 UnsupportedOperationExceptionがスローされます。 サブクラスは、このメソッドを適切な実装でオーバーライドする必要があります。
      型パラメータ:
      T - ソケット・オプション値のタイプ
      パラメータ:
      name - ソケット・オプション
      戻り値:
      ソケット・オプション
      スロー:
      UnsupportedOperationException - DatagramSocketImplがオプションをサポートしない 合
      IOException - I/Oエラーが発生した 合またはソケットが閉じられた 合
      NullPointerException - nameがnullの 合
      導入されたバージョン:
      9
    • supportedOptions

      protected Set<SocketOption<?>> supportedOptions()
      このimplおよびこのimplのソケット(DatagramSocketまたはMulticastSocket)によってサポートされるSocketOptionsのセットを返します
      実装要件:
      このメソッドのデフォルトの実装は、空のセットを返します。 サブクラスは、このメソッドを適切な実装でオーバーライドする必要があります。
      戻り値:
      SocketOptionsのセット
      導入されたバージョン:
      9