// Port number used by the server
public static final int SERVER_PORT = 9832;
// Make a socket for sending and receiving messages.
DatagramSocket sock = null;
try {
sock = new DatagramSocket( SERVER_PORT );
} catch( IOException e ){}
// Reusable packet for receiving messages, hopefully big enough
// for any message we'll receive.
byte[] recvBuffer = new byte [ 1024 ];
DatagramPacket recvPacket = new DatagramPacket( recvBuffer, recvBuffer.length );
// Keep reading messages and sending responses.
try {
while( true ){
// Get a packet.
sock.receive( recvPacket );
// Turn it into a string.
String str = new String( recvBuffer, 0, recvPacket.getLength() );
// Turn the string into a datagram packet, and send it back where the
// messagee came from.
byte[] sendBuffer = str.getBytes();
DatagramPacket sendPacket = new DatagramPacket( sendBuffer, sendBuffer.length, recvPacket.getAddress(), recvPacket.getPort() );
sock.send( sendPacket );
}
} catch( IOException e ){
System.err.println( "Error communicating with a client" );
}