2008-09-17 14 views

Antwort

4

Hows 'das?

 
import java.io.IOException; 
import java.net.DatagramPacket; 
import java.net.DatagramSocket; 
import java.net.InetSocketAddress; 


public class Server { 

    public static void main(String[] args) throws IOException { 
     DatagramSocket socket = new DatagramSocket(new InetSocketAddress(5000)); 
     byte[] message = new byte[512]; 
     DatagramPacket packet = new DatagramPacket(message, message.length); 
     socket.receive(packet); 
     System.out.println(new String(packet.getData(), packet.getOffset(), packet.getLength())); 
    } 
} 
 
import java.io.IOException; 
import java.net.DatagramPacket; 
import java.net.DatagramSocket; 
import java.net.InetSocketAddress; 


public class Client { 

    public static void main(String[] args) throws IOException { 
     DatagramSocket socket = new DatagramSocket(); 
     socket.connect(new InetSocketAddress(5000)); 
     byte[] message = "Oh Hai!".getBytes(); 
     DatagramPacket packet = new DatagramPacket(message, message.length); 
     socket.send(packet); 
    } 
} 
0

@none

Die Datagram Klassen müssen sicher eine aufpolieren, DatagramChannel für die Kunden etwas besser, aber verwirrend für die Server-Programmierung. Zum Beispiel:

 
import java.io.IOException; 
import java.net.InetSocketAddress; 
import java.nio.ByteBuffer; 
import java.nio.channels.DatagramChannel; 


public class Client { 

    public static void main(String[] args) throws IOException { 
     DatagramChannel channel = DatagramChannel.open(); 
     ByteBuffer buffer = ByteBuffer.wrap("Oh Hai!".getBytes()); 
     channel.send(buffer, new InetSocketAddress("localhost", 5000)); 
    } 
} 

Bring on JSR-203 sage ich