O Datagram Protocol ( UDP) utiliza o formato "datagrama " para enviar e receber dados. Muito parecido com os soquetes Java típicos , a classe " datagramsockets " conecta-se a hospedar máquinas através do protocolo UDP para enviar pacotes de informação. UDP é um protocolo simples que não faz qualquer verificação de erros , por isso, os pacotes enviados pode chegar fora de ordem ou vão faltar. No entanto , quando a fiabilidade não é necessário tanto quanto a velocidade de transmissão , UDP podem oferecer uma alternativa para outros métodos de transmissão . Nestes casos , você pode usar Java "datagrama " objetos para enviar pacotes via UDP. Coisas que você precisa
Java Development Kit ( JDK)
Mostrar Mais instruções
1
Criar a classe base para enviar o datagrama UDP, com uma função principal. A classe vai usar o " DatagramPacket ", " DatagramSocket ", e " InetAddress " bibliotecas :
java.net.DatagramPacket importação ; java.net.DatagramSocket importação; java.net.InetAddress importação ;
classe SendUDP {
public static void main ( string [] args ) { }}
2
Crie uma nova DatagramSocket e DatagramPacket no método principal. O objeto socket de datagrama irá enviar o objeto de pacote de datagramas , que vai ter a sua informação a partir da matriz de bytes "tampão" :
DatagramSocket s = new DatagramSocket (); byte [] buf = new byte [ 1000] ; DatagramPacket fora ;
3
Criar uma mensagem de exemplo para enviar sobre UDP , e codificá-lo para a matriz de bytes " buf : "
Cordas outString = "Este é a mensagem " ; buf = outString.getBytes ();
4
Instanciar o " fora "pacote datagrama com o array de bytes tampão contendo a mensagem, e apontá-lo para o endereço IP do receptor , recebidos através do método " getByName " . O número "9999 " representa um número de porta aberta para conexões UDP no final do receptor : este poderia ser qualquer número de porta , dependendo da configuração do servidor de recebimento
InetAddress receptor = InetAddress.getByName ( "http . : //www.sun.java.com ");
DatagramPacket out = new DatagramPacket ( buf , buf.length , receptor, 9999) ;
5
enviar o pacote . Agora que o pacote datagrama contém as informações necessárias para enviar , transmiti-lo através da tomada de Datagram :
s.send ( fora );