package fr.umlv.ji.udp;
import java.net.*;
public class ReceiveUDP {
final static int BUF_SIZE = 1024;
public static void main(String[] args) {
if (args.length == 0) {
System.out.println("Usage: "
+"java fr.umlv.ji.udp.ReceiveUDP <port> [addr]");
System.exit(1);
}
try {
byte[] buf = new byte[1024]; DatagramPacket packet = new DatagramPacket(buf, 0, buf.length);
int port = Integer.parseInt(args[0]); DatagramSocket socket = null;
if (args.length > 1)
socket = new DatagramSocket(port,InetAddress.getByName(args[1]));
else
socket = new DatagramSocket(port);
System.out.println("Attente de réception sur " +
socket.getLocalSocketAddress());
while (true) {
socket.receive(packet);
String s = new String(packet.getData(),packet.getOffset(),
packet.getLength());
System.out.println("Message reçu de "+
packet.getSocketAddress() + "\n\t" + s);
packet.setData(buf,0,buf.length);
}
} catch (Exception e) {
System.err.println("Erreur à l'exécution :");
e.printStackTrace(System.err);
}
}
}