Package java.net

Class DatagramPacket

java.lang.Object
java.net.DatagramPacket

public final class DatagramPacket
extends Object
This class represents a datagram packet which contains data either to be sent or received through a DatagramSocket. It holds additional information such as its source or destination host.
See Also:
DatagramSocket
  • Constructor Summary

    Constructors
    Constructor Description
    DatagramPacket​(byte[] data, int length)
    Constructs a new DatagramPacket object to receive data up to length bytes.
    DatagramPacket​(byte[] data, int offset, int length)
    Constructs a new DatagramPacket object to receive data up to length bytes with a specified buffer offset.
    DatagramPacket​(byte[] data, int offset, int length, InetAddress host, int aPort)
    Constructs a new DatagramPacket object to send data to the port aPort of the address host.
    DatagramPacket​(byte[] data, int offset, int length, SocketAddress sockAddr)
    Constructs a new DatagramPacket object to send data to the address sockAddr.
    DatagramPacket​(byte[] data, int length, InetAddress host, int port)
    Constructs a new DatagramPacket object to send data to the port aPort of the address host.
    DatagramPacket​(byte[] data, int length, SocketAddress sockAddr)
    Constructs a new DatagramPacket object to send data to the address sockAddr.
  • Method Summary

    Modifier and Type Method Description
    InetAddress getAddress()
    Gets the sender or destination IP address of this datagram packet.
    byte[] getData()
    Gets the data of this datagram packet.
    int getLength()
    Gets the length of the data stored in this datagram packet.
    int getOffset()
    Gets the offset of the data stored in this datagram packet.
    int getPort()
    Gets the port number of the target or sender host of this datagram packet.
    SocketAddress getSocketAddress()
    Gets the host address and the port to which this datagram packet is sent as a SocketAddress object.
    void resetLengthForReceive()
    Resets 'length' to the last user-supplied length, ready to receive another packet.
    void setAddress​(InetAddress addr)
    Sets the IP address of the target host.
    void setData​(byte[] buf)
    Sets the data buffer for this datagram packet.
    void setData​(byte[] data, int offset, int byteCount)
    Sets the data buffer for this datagram packet.
    void setLength​(int length)
    Sets the length of the datagram packet.
    void setPort​(int aPort)
    Sets the port number of the target host of this datagram packet.
    void setReceivedLength​(int length)
    Sets 'length' without changing 'userSuppliedLength', after receiving a packet.
    void setSocketAddress​(SocketAddress sockAddr)
    Sets the SocketAddress for this datagram packet.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • DatagramPacket

      public DatagramPacket​(byte[] data, int length)
      Constructs a new DatagramPacket object to receive data up to length bytes.
      Parameters:
      data - a byte array to store the read characters.
      length - the length of the data buffer.
    • DatagramPacket

      public DatagramPacket​(byte[] data, int offset, int length)
      Constructs a new DatagramPacket object to receive data up to length bytes with a specified buffer offset.
      Parameters:
      data - a byte array to store the read characters.
      offset - the offset of the byte array where the bytes is written.
      length - the length of the data.
    • DatagramPacket

      public DatagramPacket​(byte[] data, int offset, int length, InetAddress host, int aPort)
      Constructs a new DatagramPacket object to send data to the port aPort of the address host. The length must be lesser than or equal to the size of data. The first length bytes from the byte array position offset are sent.
      Parameters:
      data - a byte array which stores the characters to be sent.
      offset - the offset of data where to read from.
      length - the length of data.
      host - the address of the target host.
      aPort - the port of the target host.
    • DatagramPacket

      public DatagramPacket​(byte[] data, int length, InetAddress host, int port)
      Constructs a new DatagramPacket object to send data to the port aPort of the address host. The length must be lesser than or equal to the size of data. The first length bytes are sent.
      Parameters:
      data - a byte array which stores the characters to be sent.
      length - the length of data.
      host - the address of the target host.
      port - the port of the target host.
    • DatagramPacket

      public DatagramPacket​(byte[] data, int length, SocketAddress sockAddr) throws SocketException
      Constructs a new DatagramPacket object to send data to the address sockAddr. The length must be lesser than or equal to the size of data. The first length bytes of the data are sent.
      Parameters:
      data - the byte array to store the data.
      length - the length of the data.
      sockAddr - the target host address and port.
      Throws:
      SocketException - if an error in the underlying protocol occurs.
    • DatagramPacket

      public DatagramPacket​(byte[] data, int offset, int length, SocketAddress sockAddr) throws SocketException
      Constructs a new DatagramPacket object to send data to the address sockAddr. The length must be lesser than or equal to the size of data. The first length bytes of the data are sent.
      Parameters:
      data - the byte array to store the data.
      offset - the offset of the data.
      length - the length of the data.
      sockAddr - the target host address and port.
      Throws:
      SocketException - if an error in the underlying protocol occurs.
  • Method Details

    • getAddress

      public InetAddress getAddress()
      Gets the sender or destination IP address of this datagram packet.
      Returns:
      the address from where the datagram was received or to which it is sent.
    • getData

      public byte[] getData()
      Gets the data of this datagram packet.
      Returns:
      the received data or the data to be sent.
    • getLength

      public int getLength()
      Gets the length of the data stored in this datagram packet.
      Returns:
      the length of the received data or the data to be sent.
    • getOffset

      public int getOffset()
      Gets the offset of the data stored in this datagram packet.
      Returns:
      the position of the received data or the data to be sent.
    • getPort

      public int getPort()
      Gets the port number of the target or sender host of this datagram packet.
      Returns:
      the port number of the origin or target host.
    • setAddress

      public void setAddress​(InetAddress addr)
      Sets the IP address of the target host.
      Parameters:
      addr - the target host address.
    • setData

      public void setData​(byte[] data, int offset, int byteCount)
      Sets the data buffer for this datagram packet.
    • setData

      public void setData​(byte[] buf)
      Sets the data buffer for this datagram packet. The length of the datagram packet is set to the buffer length.
      Parameters:
      buf - the buffer to store the data.
    • setLength

      public void setLength​(int length)
      Sets the length of the datagram packet. This length plus the offset must be lesser than or equal to the buffer size.
      Parameters:
      length - the length of this datagram packet.
    • resetLengthForReceive

      public void resetLengthForReceive()
      Resets 'length' to the last user-supplied length, ready to receive another packet.
    • setReceivedLength

      public void setReceivedLength​(int length)
      Sets 'length' without changing 'userSuppliedLength', after receiving a packet.
    • setPort

      public void setPort​(int aPort)
      Sets the port number of the target host of this datagram packet.
      Parameters:
      aPort - the target host port number.
    • getSocketAddress

      public SocketAddress getSocketAddress()
      Gets the host address and the port to which this datagram packet is sent as a SocketAddress object.
      Returns:
      the SocketAddress of the target host.
    • setSocketAddress

      public void setSocketAddress​(SocketAddress sockAddr)
      Sets the SocketAddress for this datagram packet.
      Parameters:
      sockAddr - the SocketAddress of the target host.