¿La dirección UDP ya está en uso?

Estoy siguiendo los tutoriales de UDP enhttp://docs.oracle.com/javase/tutorial/networking/datagrams/broadcasting.html , He copiado todo el código y lo he compilado, ahora si primero compilo el cliente y luego el servidor, el servidor lo imprime en la consola

Exception in thread "main" java.net.BindException: Address already in use: Cannot bind
at java.net.PlainDatagramSocketImpl.bind0(Native Method)
at java.net.PlainDatagramSocketImpl.bind(Unknown Source)
at java.net.DatagramSocket.bind(Unknown Source)
at java.net.DatagramSocket.<init>(Unknown Source)
at java.net.DatagramSocket.<init>(Unknown Source)
at java.net.DatagramSocket.<init>(Unknown Source)
at QuoteServerThread.<init>(QuoteServerThread.java:19)
at MulticastServerThread.<init>(MulticastServerThread.java:10)
at MulticastServer.main(MulticastServer.java:3)

QuoteServerThread línea 19 es

socket = new DatagramSocket(12345);

La línea 10 de MulticastServerThread es

public MulticastServerThread() throws IOException {
    super("MulticastServerThread"); // line 10
}

La línea 3 de MulticastServer es

public class MulticastServer {
    public static void main(String[] args) throws java.io.IOException {
        new MulticastServerThread().start(); // line 3
    }
}

Si inicio el servidor primero, luego el cliente, el cliente imprime esto en la consola

Exception in thread "main" java.net.BindException: Address already in use: Cannot bind
at java.net.PlainDatagramSocketImpl.bind0(Native Method)
at java.net.PlainDatagramSocketImpl.bind(Unknown Source)
at java.net.DatagramSocket.bind(Unknown Source)
at java.net.MulticastSocket.<init>(Unknown Source)
at java.net.MulticastSocket.<init>(Unknown Source)
at MulticastClient.main(MulticastClient.java:9)

La línea 9 de MulticastClient es

MulticastSocket socket = new MulticastSocket(12345);

Mirando los errores, me parece que es algo que ver con escuchar los puertos, ¿cómo puedo solucionar esto?

Lona

Respuestas a la pregunta(2)

Su respuesta a la pregunta