Datagramas

Os pacotes enviados e recebidos através dos soquetes UDP são objetos Java da classe DatagramPacket. Objetos dessa classe podem ser construídos de duas maneiras, dependendo se serão enviados ou recebidos através do soquete UDP:

Pacotes a enviar
Nesse caso, deve ser utilizado o construtor que incorpora em seus argumentos o arranjo de bytes a enviar, seu tamanho, e o endereço de destino (máquina, especificada pelo seu endereço IP, e porta);
Pacotes a receber
Nesse caso, os argumentos especificam apenas o arranjo de bytes para onde o conteúdo do pacote será transferido e o limite no tamanho do pacote que será recebido nesse arranjo.

Uma vez que um pacote tenha sido recebido, a informação sobre sua origem pode ser obtida através dos métodos getAddress() e getPort(). Os dados efetivamente recebidos podem ser extraídos do pacote usando o método getData(); o método getLength() permite determinar a dimensão dos dados.