モジュール java.base
パッケージ java.net

クラスDatagramSocketImpl

  • すべての実装されたインタフェース:
    SocketOptions

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

      • 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がスローされることがあります。 例外が必ずスローされるとは限らないことに注意。

        パラメータ:
        address−接続先のリモートInetAddress
        port−リモート・ポート番号
        例外:
        SocketException−リモート接続先にソケットを接続できない場合にスローされる可能性があります。
        導入されたバージョン:
        1.4
      • disconnect

        protected void disconnect()
        リモート接続先からデータグラム・ソケットを切り離します。
        導入されたバージョン:
        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
        protected abstract void setTTL​(byte ttl)
                                throws IOException
        非推奨。
        代わりにsetTimeToLiveを使用してください。
        TTL (有効期間)オプションを設定します。
        パラメータ:
        ttl−TTL値を指定するバイト
        例外:
        IOException - 有効期間オプションの設定中に入出力例外が発生した場合。
        関連項目:
        getTTL()
      • getTTL

        @Deprecated
        protected abstract byte getTTL()
                                throws IOException
        非推奨。
        代わりにgetTimeToLiveを使用してください。
        TTL (有効期間)オプションを取得します。
        戻り値:
        TTL値を表すバイト
        例外:
        IOException - 有効期間オプションの取得中に入出力例外が発生した場合
        関連項目:
        setTTL(byte)
      • setTimeToLive

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

        protected abstract int getTimeToLive()
                                      throws IOException
        TTL (有効期間)オプションを取得します。
        戻り値:
        有効期間値を表すint
        例外:
        IOException - 有効期間オプションの取得中に入出力例外が発生した場合
        関連項目:
        setTimeToLive(int)
      • 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
        ソケット・オプションを設定するために呼び出されます。
        型パラメータ:
        T - ソケット・オプション値のタイプ
        パラメータ:
        name - ソケット・オプション
        value - ソケット・オプションの値。 nullの値は、一部のオプションで有効です。
        例外:
        UnsupportedOperationException - DatagramSocketImplがオプションをサポートしない場合
        NullPointerException - nameがnullの場合
        IOException - オプションの設定中にI/Oの問題が発生した場合
        導入されたバージョン:
        9
      • getOption

        protected <T> T getOption​(SocketOption<T> name)
                           throws IOException
        ソケット・オプションを取得するために呼び出されます。
        型パラメータ:
        T - ソケット・オプション値のタイプ
        パラメータ:
        name - ソケット・オプション
        戻り値:
        ソケット・オプション
        例外:
        UnsupportedOperationException - DatagramSocketImplがオプションをサポートしない場合
        NullPointerException - nameがnullの場合
        IOException - オプションの設定中にI/Oの問題が発生した場合
        導入されたバージョン:
        9
      • supportedOptions

        protected Set<SocketOption<?>> supportedOptions()
        このimplとthis implソケットでサポートされているSocketOptionsのセットを返します。(DatagramSocketまたはMulticastSocket)
        戻り値:
        SocketOptionsのセット
        導入されたバージョン:
        9