Il User Datagram Protocol ( UDP) utilizza il formato " datagram " per inviare e ricevere dati . Molto simile prese tipiche di Java , la classe " datagramsockets " si collega a ospitare macchine tramite il protocollo UDP per inviare pacchetti di informazioni . UDP è un protocollo semplice che non fa alcun controllo degli errori , quindi i pacchetti inviati potrebbe arrivare fuori ordine o andare dispersi . Tuttavia, quando l'affidabilità non è richiesta tanto come velocità di trasmissione , UDP può offrire un'alternativa ad altri metodi di trasmissione . In questi casi , è possibile utilizzare oggetti Java " Datagram " per inviare pacchetti tramite UDP . Cose che ti serviranno
Java Development Kit ( JDK ) economici Mostra più istruzioni
1
creare la classe di base per inviare il datagramma UDP , con una funzione principale . La classe utilizzerà il " DatagramPacket , " " DatagramSocket , " e "librerie InetAddress " :
import java.net.DatagramPacket ; java.net.DatagramSocket importazione; importazione java.net.InetAddress ;
classe
SendUDP {
public static void main (String [] args ) {
}}
2
Creare un nuovo DatagramSocket e DatagramPacket nel metodo principale. L'oggetto datagram socket invierà l'oggetto pacchetto datagram , che otterrà le sue informazioni dal campo di byte "buffer" :
DatagramSocket s = new DatagramSocket ( ) ; byte [ ] buf = new byte [ 1000] ; DatagramPacket out ;
3
Creare un messaggio di esempio per l'invio su UDP , e la codifica in matrice di byte " buf : "
outString String = " Questo è il messaggio " , buf = outString.getBytes () ;
4
istanziare il " fuori " pacchetto datagram con l'array di byte del buffer contenente il messaggio , e puntarlo verso l' indirizzo IP del ricevitore , ricevuto tramite il metodo " getByName " . Il numero "9999 " rappresenta un numero di porta aperta per le connessioni UDP sulla fine del ricevente : . Potrebbe essere un qualsiasi numero di porta , a seconda della configurazione del server di ricezione
InetAddress ricevitore = InetAddress.getByName ( " http : //www.sun.java.com " ) ;
DatagramPacket out = new DatagramPacket ( buf , buf.length , ricevitore , 9999) ;
5
inviare il pacchetto . Ora che il pacchetto datagram contiene le informazioni necessarie per inviare , trasmettere attraverso il socket Datagram :
s.send ( out);