http://docs.oracle.com/javase/tutorial/networking/datagrams/broadcasting.htmlでUDPチュートリアルに従っています。すべてのコードをコピーしてコンパイルしました。最初にクライアントをコンパイルし、次にサーバーをコンパイルすると、 、サーバーはこれをコンソールに出力します
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の19行目は
socket = new DatagramSocket(12345);
MulticastServerThreadの10行目は
public MulticastServerThread() throws IOException {
super("MulticastServerThread"); // line 10
}
MulticastServerの3行目は
public class MulticastServer {
public static void main(String[] args) throws java.io.IOException {
new MulticastServerThread().start(); // line 3
}
}
最初にサーバーを起動し、次にクライアントを起動すると、クライアントはこれをコンソールに出力します
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)
MulticastClientの9行目は
MulticastSocket socket = new MulticastSocket(12345);
エラーを見ると、ポートのリッスンと関係があるように見えますが、どうすれば修正できますか?
キャンバス