User Datagram Protocol ( UDP ) använder " datagram " format för att skicka och ta emot data . Ungefär som typiska Java uttag , ansluter " datagramsockets " klass för att vara värd maskiner via UDP -protokollet för att skicka paket med information . UDP är ett enkelt protokoll som inte gör någon felkontroll , så skickade paket kan komma i ordning eller försvinner . Men när tillförlitlighet inte krävs så mycket som överföringshastigheten , kan UDP erbjuda ett alternativ till andra överförings metoder . I dessa fall kan du använda Java " Datagram " objekt för att skicka paket via UDP . Saker du behöver: Review, Java Development Kit ( JDK )
Visa fler instruktioner
1
Skapa basklassen att skicka UDP datagram , med en huvudfunktion . Klassen kommer att använda " DatagramPacket , " " DatagramSocket , " och " InetAddress " bibliotek :
import java.net.DatagramPacket , import java.net.DatagramSocket ; import java.net.InetAddress ;
klass SendUDP {
public void main ( String [] args ) {
} }
2
Skapa en ny DatagramSocket och DatagramPacket i den huvudsakliga metoden . Datagram socket objektet kommer att skicka datagram paketet objektet , som kommer att få sin information från bytearrayen " buffert " :
DatagramSocket s = ny DatagramSocket ( ) , byte [ ] BUF = new byte [ 1000 ] ; DatagramPacket ut ; Addera 3
Skapa ett prov meddelande för att skicka över UDP , och koda den till bytearrayen " buf : "
String outString = " Denna är budskapet " , buf = outString.getBytes ();
4
instansiera " ut " datagram paket med buffert byte array som innehåller meddelandet , och rikta den mot den IP adress på mottagaren , som tas emot via " getByName "-metoden. Numret " 9999 " representerar ett portnummer öppen för UDP-anslutningar på mottagarens slut : . Detta kan vara ett portnummer , beroende på den mottagande serverns konfiguration
InetAddress mottagare = InetAddress.getByName orsaka ( " http : //www.sun.java.com " ) ;
DatagramPacket ut = new DatagramPacket ( buf , buf.length , mottagare , 9999 ) ;
5
skicka paketet . Nu när datagram paketet innehåller information som krävs för att sända , sända den via Datagram socket :
s.send ( ut ) ;