Java UDP: Slik sender du en fil
User Datagram Protocol (UDP) bruker "datagram" format for å sende og motta data. Mye som typiske Java sockets, forbinder "datagramsockets" class til vertsmaskiner gjennom UDP protokollen til å sende pakker med informasjon. UDP er en enkel protokoll som ikke gjør noen feilsjekking, så pakker sendt kan komme ut av drift, eller gå glipp av. Men når pålitelighet ikke er nødvendig med så mye som hastigheten på overføring, kan UDP et alternativ til andre overføringsmetoder. I slike tilfeller kan du bruke Java "datagram" objekter for å sende pakker via UDP.
Bruksanvisning
1 Lag base klassen for å sende UDP datagram, med en hovedfunksjon. Klassen vil bruke "DatagramPacket", "DatagramSocket" og "InetAddress" biblioteker:
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
klasse SendUDP {
public static void main (String [] args) {
}
}
2 Opprett en ny DatagramSocket og DatagramPacket i den viktigste metoden. Datagram socket objektet vil sende datagram pakke objekt, som vil få sin informasjon fra byte array "buffer":
DatagramSocket s = new DatagramSocket ();
byte[] buf = new byte[1000];
DatagramPacket out;
3 Lag en prøve melding å sende over UDP, og kode den inn i byte array "buf:"
String outString = "Dette er budskapet";
buf = outString.getBytes ();
4 Instantiate "ut" datagram pakke med buffer byte array som inneholder meldingen, og peker mot IP adressen til mottakeren, fikk gjennom "getByName" metoden. Nummeret "9999" representerer et portnummer åpne for UDP-tilkoblinger på mottakerens slutt: dette kan være en hvilken som helst portnummer, avhengig av mottaksserverkonfigurasjonen.
InetAddress mottaker = InetAddress.getByName ( "http: //www.sun.java.com");
DatagramPacket ut = ny DatagramPacket (buf, buf.length, mottaker, 9999);
5 Sende pakken. Nå som datagram pakke inneholder informasjon som er nødvendig for å sende, overføre det gjennom Datagram socket:
s.send (ut);