Das User Datagram Protocol (UDP) verwendet die " Datagramm "-Format , um Daten senden und empfangen . Ähnlich wie typische Java -Buchsen , verbindet die " datagramsockets " Klasse Maschinen über das UDP-Protokoll Host Pakete von Informationen senden. UDP ist ein einfaches Protokoll , das nicht tut jede Fehlerkontrolle, deshalb gesendeten Pakete ankommen könnte nicht in Ordnung oder verloren gehen . Allerdings, wenn die Zuverlässigkeit nicht erforderlich ist , so viel wie Geschwindigkeit der Übertragung , kann UDP bieten eine Alternative zu anderen Übertragungsverfahren . In diesen Fällen können Sie mit Java " Datagram " Objekte , um Pakete über UDP senden. Was Sie brauchen
Java Development Kit ( JDK)
anzeigen Weitere Anweisungen
1
Erstellen der Basisklasse , um die UDP-Datagramm zu senden, mit einer Hauptfunktion . Die Klasse wird mit dem " DatagramPacket ", " DatagramSocket " und " InetAddress " Bibliotheken :
Import java.net.DatagramPacket , Import java.net.DatagramSocket , Import java.net.InetAddress ;
Klasse sendudp {
public static void main (String [] args ) { }}
2
neues DatagramSocket und DatagramPacket in der main-Methode . Die Datagrammsocket Objekt sendet die Datagrammpaket Objekt, das seine Informationen aus dem Byte-Array "Puffer" erhalten :
DatagramSocket s = new DatagramSocket (); byte [] buf = new byte [ 1000] ; DatagramPacket out ;
3
erstellen Sie eine Beispiel Nachricht über UDP senden und codieren sie in der Byte-Array " buf : "
String outString = "Diese ist die Botschaft " , buf = outString.getBytes ();
4
Instanziieren die " out " Datagrammpaket mit dem Puffer Byte-Array mit der Nachricht , und verweisen Sie auf die IP -Adresse des Empfängers erhielt durch die " getByName "-Methode. Die Zahl " 9999 " steht für eine Port-Nummer offen für UDP-Verbindungen auf der Empfängerseite Ende : . Könnte dies eine Port-Nummer , abhängig von der empfangenden Server-Konfiguration
InetAddress Empfänger = InetAddress.getByName ( "http: //www.sun.java.com ");
DatagramPacket out = new DatagramPacket ( buf , buf.length , Empfänger, 9999) ;
5
senden das Paket. Nun, da die Datagrammpaket enthält Informationen erforderlich, um zu senden, übertragen es durch den Datagram Socket :
s.send ( out) ;