De User Datagram Protocol ( UDP ) gebruikt de " datagram " formaat om gegevens te verzenden en te ontvangen . Net als typische Java sockets , de " datagramsockets " class verbindt om machines te hosten via het UDP-protocol om pakketten van informatie te sturen . UDP is een eenvoudig protocol dat een foutcontrole niet doet , dus verzonden pakketten zouden komen buiten de orde of vermist . Wanneer betrouwbaarheid zelfs niet transmissiesnelheid nodig UDP kan een alternatief voor andere overdrachtsmethoden bieden . In deze gevallen kunt u Java " Datagram " voorwerpen gebruiken om pakketten via UDP sturen . Wat je nodig hebt Java Development Kit ( JDK ) Toon Meer Aanwijzingen 1 Maak de basisklasse om de UDP datagram te verzenden , met een hoofdfunctie . , Import java.net.DatagramSocket ; import java.net.InetAddress import java.net.DatagramPacket : De klasse zal de " datagrampakketten , " " DatagramSocket , " en " InetAddress " libraries gebruiken ; class SendUDP { public static void main ( String [ ] args ) op { } } kopen van 2 Maak een nieuwe DatagramSocket en datagrampakketten in de belangrijkste methode . Het datagram socket object zal het datagram pakket object, dat zijn informatie van de byte -array 'buffer' zal krijgen sturen : DatagramSocket s = new DatagramSocket ( ) op ; byte [ ] buf = new byte [ 1000 ] ; datagrampakketten out ; 3 Maak een voorbeeld bericht te sturen over UDP , en coderen in de byte -array " buf : " String outString = " Deze is de boodschap " ; buf = outString.getBytes ( ) ; 4 instantiëren de " out " datagram pakket met de buffer byte array met de boodschap , en richt deze naar het IP adres van de ontvanger , die via de " getByName " methode . Het nummer " 9999 " staat voor een poortnummer open voor UDP-verbindingen op het einde van de ontvanger : . Dit zou elke poortnummer zijn, afhankelijk van de configuratie van de ontvangende server InetAddress reciever = InetAddress.getByName ( " http : //www.sun.java.com " ) ; datagrampakketten out = new datagrampakketten ( buf , buf.length , ontvanger , 9999 ) ; 5 Stuur het pakket . Nu de datagram pakket bevat informatie die nodig is door het datagram socket te sturen , dient dit : s.send ( out ) ;
|