import java.net.*;
import java.io.*;
public class UDPEchoServer extends UDPServer {
public final static int DEFAULT_PORT = 7;
public UDPEchoServer() throws SocketException {
this(DEFAULT_PORT);
}
public UDPEchoServer(int port) throws SocketException {
super(port);
ds.setReceiveBufferSize(32768);
}
public void respond(DatagramPacket incoming) {
try {
DatagramPacket outgoing = new DatagramPacket(incoming.getData(),
incoming.getLength(), incoming.getAddress(), incoming.getPort());
ds.send(outgoing);
System.out.println(incoming.getLength());
}
catch (IOException e) {
System.err.println(e);
}
}
public static void main(String[] args) {
try {
if (args.length > 0) {
int port = Integer.parseInt(args[0]);
UDPEchoServer server = new UDPEchoServer(port);
server.start();
}
else {
UDPEchoServer server = new UDPEchoServer();
server.start();
}
}
catch (SocketException e) {
System.err.println(e);
}
}
}
|