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

クラスDatagramPacket

java.lang.Object
java.net.DatagramPacket

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

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

特に指定がないかぎり、null引数を渡すとNullPointerExceptionがスローされます。

DatagramPacketのメソッドおよびコンストラクタは、SocketAddress型のパラメータを受け入れます。 DatagramPacketInetSocketAddressをサポートし、追加のSocketAddressサブタイプをサポートする場合があります。

導入されたバージョン:
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)
    指定されたホスト上の指定されたポート番号にオフセットoffsetを使用してlengthの長さのパケットを送信するためにデータグラム・パケットを構築します。
    DatagramPacket(byte[] buf, int offset, int length, SocketAddress address)
    指定されたホスト上の指定されたポート番号にオフセットoffsetを使用してlengthの長さのパケットを送信するためにデータグラム・パケットを構築します。
    DatagramPacket(byte[] buf, int length, InetAddress address, int port)
    長さlengthのパケットを指定されたホスト上の指定されたポート番号に送信するためのデータグラム・パケットを構築します。
    DatagramPacket(byte[] buf, int length, SocketAddress address)
    長さlengthのパケットを指定されたホスト上の指定されたポート番号に送信するためのデータグラム・パケットを構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    このデータグラムの送信先またはデータグラムの受信元のマシンのIPアドレスを返します。設定されていない場合はnullを返します。
    byte[]
    データ・バッファを返します。
    int
    送信するデータの長さ、または受信したデータの長さを返します。
    int
    送信するデータのオフセット、または受信したデータのオフセットを返します。
    int
    このデータグラムの送信先またはデータグラムの受信元のリモート・ホスト上のポート番号を返します。設定されていない場合は0を返します。
    このパケットの送信先または送信元のリモート・ホストのSocketAddress (通常は「IPアドレス」 + 「ポート番号」)を返します。
    void
    このデータグラムの送信先であるマシンのIPアドレスを設定します。
    void
    setData(byte[] buf)
    このパケットのデータ・バッファを設定します。
    void
    setData(byte[] buf, int offset, int length)
    このパケットのデータ・バッファを設定します。
    void
    setLength(int length)
    このパケットの長さを設定します。
    void
    setPort(int iport)
    このデータグラムの送信先であるリモート・ホストのポート番号を設定します。
    void
    このデータグラムの送信先であるリモート・ホストのSocketAddress (通常はIPアドレス+ポート番号)を設定します。

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

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • コンストラクタの詳細

    • DatagramPacket

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

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

      パラメータ:
      buf - 着信データグラムを保持するためのバッファ。
      offset - バッファへのオフセット
      length - 読み込むバイト数。
      例外:
      IllegalArgumentException - 長さまたはオフセットが負の値の場合、または長さとオフセットの合計が、指定されたバッファのパケット長より大きい場合。
      導入されたバージョン:
      1.2
    • DatagramPacket

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

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

      パラメータ:
      buf - 着信データグラムを保持するためのバッファ。
      length - 読み込むバイト数。
      例外:
      IllegalArgumentException - 長さが負の場合、または長さが指定されたバッファのパケット長より大きい場合。
    • DatagramPacket

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

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

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

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

    • getAddress

      public InetAddress getAddress()
      このデータグラムの送信先またはデータグラムの受信元のマシンのIPアドレスを返します。設定されていない場合はnullを返します。
      戻り値:
      このデータグラムの送信先であるマシン、またはデータグラムの送信元であるマシンのIPアドレス。
      関連項目:
    • getPort

      public int getPort()
      このデータグラムの送信先またはデータグラムの受信元のリモート・ホスト上のポート番号を返します。設定されていない場合は0を返します。
      戻り値:
      このデータグラムの送信先、またはデータグラムの送信元の、リモート・ホスト上のポート番号。
      関連項目:
    • getData

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

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

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

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

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

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

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

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

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

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