The User Datagram Protocol ( UDP) bruger " datagram "-formatet til at sende og modtage data. Meget gerne typiske Java stikkontakter , forbinder " datagramsockets " class at være vært maskiner via UDP-protokollen til at sende pakker af information. UDP er en simpel protokol, der ikke gør nogen fejlkontrol , så sendte pakker måske ankommer ude af drift eller gå mangler. Men når pålidelighed ikke er påkrævet, så meget som hastighed transmission, kan UDP tilbyde et alternativ til andre transmissions metoder. I disse tilfælde kan du bruge Java " Datagram " objekter til at sende pakker via UDP. Ting du har brug
Java Development Kit ( JDK )
Vis Flere Instruktioner
1
Opret basisklassen at sende UDP datagram med en hovedfunktion. Klassen vil bruge " DatagramPacket ", " DatagramSocket , " og " InetAddress " biblioteker : Hej
import java.net.DatagramPacket , import java.net.DatagramSocket , import java.net.InetAddress ;
class SendUDP {
public static void vigtigste ( String [] args ) {
}}
2
Opret en ny DatagramSocket og DatagramPacket i den vigtigste metode . Den datagram socket objektet vil sende datagram pakke objektet , som vil få sine oplysninger fra byte array " buffer " : Hej
DatagramSocket s = new DatagramSocket (); byte [ ] buf = new byte [ 1000 ] ; DatagramPacket ud ;
3
Opret en prøve besked for at sende over UDP , og indkode det i byte array " buf : "
String outString = "Denne er budskabet " buf = outString.getBytes ();
4
Instantiere " out " datagram pakke med buffer byte array indeholdende meddelelsen, og pege den mod IP adresse på modtageren , modtages gennem " getByName "-metoden . Tallet " 9999 " repræsenterer et portnummer åben for UDP-forbindelser på modtagerens ende : . Dette kunne være et portnummer , afhængigt af den modtagende serverens konfiguration
InetAddress reciever = InetAddress.getByName ( "http : //www.sun.java.com ");
DatagramPacket ud = new DatagramPacket (BUF , buf.length , receiver , 9999 ),
5
Send pakken. Nu, datagrammet pakken indeholder oplysninger, der kræves til at sende , overføre den via Datagram socket : Hej
s.send (ud) ,