--- experimental/server/XMLReader/UDPReader.java 2000/11/17 12:16:39 1.2 +++ experimental/server/XMLReader/UDPReader.java 2000/11/17 20:44:31 1.4 @@ -25,18 +25,30 @@ public class UDPReader { } } - DatagramSocket socket = new DatagramSocket(port); + DatagramSocket socket = null; + try { + socket = new DatagramSocket(port); + } + catch (BindException e){ + System.out.println("Some other process is already listening on port "+port+"."); + System.out.println("Please specify another port number on the command line."); + System.exit(0); + } + System.out.println("UDPReader ready and listening for UDP packets on port "+port); + byte[] buf; + UDPReaderThread t = new UDPReaderThread(); + boolean running = true; while (running){ + System.gc(); try { - byte[] buf = new byte[packetSizeLimit]; + buf = new byte[packetSizeLimit]; // receive request DatagramPacket packet = new DatagramPacket(buf, buf.length); socket.receive(packet); - UDPReaderThread thread = new UDPReaderThread(packet); - thread.run(); + t.run(packet); } catch (IOException e) { System.out.println("An exception occured in the UDPReader!");