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

クラスDatagramPacket


  • public final class DatagramPacket
    extends Object
    このクラスはデータグラム・パケットを表します。

    データグラム・パケットは、無接続パケット配布サービスを実装する際に使用します。 各メッセージは、パケット内に含まれている情報だけを基に、あるマシンから別のマシンへ送信されます。 あるマシンから別のマシンに複数のパケットが送信される場合、それらの各パケットは異なる経路で送信される可能性があり、その到着順序もさまざまな可能性があります。 パケットの配信は保証されません。

    導入されたバージョン:
    1.0
    • コンストラクタのサマリー

      コンストラクタ 
      コンストラクタ 説明
      DatagramPacket​(byte[] buf, int length)
      長さがlengthのパケットを受信するためのDatagramPacketを構築します。
      DatagramPacket​(byte[] buf, int offset, int length)
      バッファへのオフセットを指定して、長さがlengthのパケットを受信するためのDatagramPacketを構築します。
      DatagramPacket​(byte[] buf, int offset, int length, InetAddress address, int port)
      長さlength、オフセットioffsetのパケットを指定されたホスト上の指定されたポート番号に送信するためのデータグラム・パケットを構築します。
      DatagramPacket​(byte[] buf, int offset, int length, SocketAddress address)
      長さlength、オフセットioffsetのパケットを指定されたホスト上の指定されたポート番号に送信するためのデータグラム・パケットを構築します。
      DatagramPacket​(byte[] buf, int length, InetAddress address, int port)
      長さlengthのパケットを指定されたホスト上の指定されたポート番号に送信するためのデータグラム・パケットを構築します。
      DatagramPacket​(byte[] buf, int length, SocketAddress address)
      長さlengthのパケットを指定されたホスト上の指定されたポート番号に送信するためのデータグラム・パケットを構築します。
    • メソッドのサマリー

      すべてのメソッド インスタンス・メソッド 具象メソッド 
      修飾子と型 メソッド 説明
      InetAddress getAddress()
      このデータグラムの送信先であるマシン、またはデータグラムの送信元であるマシンのIPアドレスを返します。
      byte[] getData()
      データ・バッファを返します。
      int getLength()
      送信するデータの長さ、または受信したデータの長さを返します。
      int getOffset()
      送信するデータのオフセット、または受信したデータのオフセットを返します。
      int getPort()
      このデータグラムの送信先、またはデータグラムの送信元の、リモート・ホスト上のポート番号を返します。
      SocketAddress getSocketAddress()
      このパケットの送信先または送信元であるリモート・ホストのSocketAddress (通常はIPアドレス+ポート番号)を取得します。
      void setAddress​(InetAddress iaddr)
      このデータグラムの送信先であるマシンのIPアドレスを設定します。
      void setData​(byte[] buf)
      このパケットのデータ・バッファを設定します。
      void setData​(byte[] buf, int offset, int length)
      このパケットのデータ・バッファを設定します。
      void setLength​(int length)
      このパケットの長さを設定します。
      void setPort​(int iport)
      このデータグラムの送信先であるリモート・ホストのポート番号を設定します。
      void setSocketAddress​(SocketAddress address)
      このデータグラムの送信先であるリモート・ホストのSocketAddress (通常はIPアドレス+ポート番号)を設定します。
    • コンストラクタの詳細

      • DatagramPacket

        public DatagramPacket​(byte[] buf,
                              int offset,
                              int length)
        バッファへのオフセットを指定して、長さがlengthのパケットを受信するためのDatagramPacketを構築します。

        引数lengthの値は、buf.lengthの値以下である必要があります。

        パラメータ:
        buf - 着信データグラムを保持するためのバッファ。
        offset - バッファへのオフセット
        length - 読み込むバイト数。
        導入されたバージョン:
        1.2
      • DatagramPacket

        public DatagramPacket​(byte[] buf,
                              int length)
        長さがlengthのパケットを受信するためのDatagramPacketを構築します。

        引数lengthの値は、buf.lengthの値以下である必要があります。

        パラメータ:
        buf - 着信データグラムを保持するためのバッファ。
        length - 読み込むバイト数。
      • DatagramPacket

        public DatagramPacket​(byte[] buf,
                              int offset,
                              int length,
                              InetAddress address,
                              int port)
        長さlength、オフセットioffsetのパケットを指定されたホスト上の指定されたポート番号に送信するためのデータグラム・パケットを構築します。 引数lengthの値は、buf.lengthの値以下である必要があります。
        パラメータ:
        buf - パケット・データ。
        offset - パケット・データのオフセット。
        length - パケット・データの長さ。
        address - 転送先アドレス。
        port - 転送先ポート番号。
        導入されたバージョン:
        1.2
        関連項目:
        InetAddress
      • DatagramPacket

        public DatagramPacket​(byte[] buf,
                              int offset,
                              int length,
                              SocketAddress address)
        長さlength、オフセットioffsetのパケットを指定されたホスト上の指定されたポート番号に送信するためのデータグラム・パケットを構築します。 引数lengthの値は、buf.lengthの値以下である必要があります。
        パラメータ:
        buf - パケット・データ。
        offset - パケット・データのオフセット。
        length - パケット・データの長さ。
        address - 転送先ソケット・アドレス。
        例外:
        IllegalArgumentException - アドレス型がサポートされていない場合
        導入されたバージョン:
        1.4
        関連項目:
        InetAddress
      • DatagramPacket

        public DatagramPacket​(byte[] buf,
                              int length,
                              InetAddress address,
                              int port)
        長さlengthのパケットを指定されたホスト上の指定されたポート番号に送信するためのデータグラム・パケットを構築します。 引数lengthの値は、buf.lengthの値以下である必要があります。
        パラメータ:
        buf - パケット・データ。
        length - パケットの長さ。
        address - 転送先アドレス。
        port - 転送先ポート番号。
        関連項目:
        InetAddress
      • DatagramPacket

        public DatagramPacket​(byte[] buf,
                              int length,
                              SocketAddress address)
        長さlengthのパケットを指定されたホスト上の指定されたポート番号に送信するためのデータグラム・パケットを構築します。 引数lengthの値は、buf.lengthの値以下である必要があります。
        パラメータ:
        buf - パケット・データ。
        length - パケットの長さ。
        address - 転送先アドレス。
        例外:
        IllegalArgumentException - アドレス型がサポートされていない場合
        導入されたバージョン:
        1.4
        関連項目:
        InetAddress
    • メソッドの詳細

      • getAddress

        public InetAddress getAddress()
        このデータグラムの送信先であるマシン、またはデータグラムの送信元であるマシンのIPアドレスを返します。
        戻り値:
        このデータグラムの送信先であるマシン、またはデータグラムの送信元であるマシンのIPアドレス。
        関連項目:
        InetAddresssetAddress(java.net.InetAddress)
      • getPort

        public int getPort()
        このデータグラムの送信先、またはデータグラムの送信元の、リモート・ホスト上のポート番号を返します。
        戻り値:
        このデータグラムの送信先、またはデータグラムの送信元の、リモート・ホスト上のポート番号。
        関連項目:
        setPort(int)
      • getData

        public byte[] getData()
        データ・バッファを返します。 受信したデータまたは送信するデータは、バッファ内のoffsetから始まり、lengthの長さだけ続きます。
        戻り値:
        データを受信または送信するのに使うバッファ
        関連項目:
        setData(byte[], int, int)
      • getOffset

        public int getOffset()
        送信するデータのオフセット、または受信したデータのオフセットを返します。
        戻り値:
        送信するデータのオフセット、または受信したデータのオフセット。
        導入されたバージョン:
        1.2
      • getLength

        public int getLength()
        送信するデータの長さ、または受信したデータの長さを返します。
        戻り値:
        送信するデータの長さ、または受信したデータの長さ。
        関連項目:
        setLength(int)
      • setData

        public void setData​(byte[] buf,
                            int offset,
                            int length)
        このパケットのデータ・バッファを設定します。 これにより、パケットのデータ、長さ、およびオフセットが設定されます。
        パラメータ:
        buf - このパケット用として設定するバッファ
        offset - データへのオフセット
        length - データの長さまたはデータ受信に使用するバッファの長さ、あるいはその両方
        例外:
        NullPointerException - 引数がnullの場合
        導入されたバージョン:
        1.2
        関連項目:
        getData(), getOffset(), getLength()
      • setAddress

        public void setAddress​(InetAddress iaddr)
        このデータグラムの送信先であるマシンのIPアドレスを設定します。
        パラメータ:
        iaddr - InetAddress
        導入されたバージョン:
        1.1
        関連項目:
        getAddress()
      • setPort

        public void setPort​(int iport)
        このデータグラムの送信先であるリモート・ホストのポート番号を設定します。
        パラメータ:
        iport - ポート番号
        導入されたバージョン:
        1.1
        関連項目:
        getPort()
      • setSocketAddress

        public void setSocketAddress​(SocketAddress address)
        このデータグラムの送信先であるリモート・ホストのSocketAddress (通常はIPアドレス+ポート番号)を設定します。
        パラメータ:
        address - SocketAddress
        例外:
        IllegalArgumentException - アドレスがnullであるか、このソケットによってサポートされていないSocketAddressサブクラスである場合
        導入されたバージョン:
        1.4
        関連項目:
        getSocketAddress()
      • getSocketAddress

        public SocketAddress getSocketAddress()
        このパケットの送信先または送信元であるリモート・ホストのSocketAddress (通常はIPアドレス+ポート番号)を取得します。
        戻り値:
        SocketAddress
        導入されたバージョン:
        1.4
        関連項目:
        setSocketAddress(java.net.SocketAddress)
      • setData

        public void setData​(byte[] buf)
        このパケットのデータ・バッファを設定します。 このDatagramPacketのオフセットは0に、長さはbufの長さに、それぞれ設定されます。
        パラメータ:
        buf - このパケット用として設定するバッファ。
        例外:
        NullPointerException - 引数がnullである場合。
        導入されたバージョン:
        1.1
        関連項目:
        getLength(), getData()
      • setLength

        public void setLength​(int length)
        このパケットの長さを設定します。 パケットの長さとは、パケットのデータ・バッファ内の送信対象バイト数、パケットのデータ・バッファ内でデータ受信に使用されるバイト数、のいずれかです。 lengthは、オフセットとパケット・バッファ長を足した値以下でなければいけません。
        パラメータ:
        length - このパケット用として設定する長さ。
        例外:
        IllegalArgumentException - lengthが負の場合、またはlengthがパケットのデータ・バッファの長さよりも大きい場合。
        導入されたバージョン:
        1.1
        関連項目:
        getLength(), setData(byte[], int, int)