我下面在http://docs.oracle.com/javase/tutorial/networking/datagrams/broadcasting.html UDP的教程,我已经复制了所有的代码和编译它,现在如果我第一次,然后编译客户端的服务器,该服务器打印了这一点,在控制台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);
的错误来看,似乎对我来说,这是与聆听港口有关,我该如何解决这个问题?
帆布
刚刚关闭并重新打开Eclipse,仍然得到相同的错误:( – Canvas 2013-02-26 18:14:31
@Canvas试试你的电脑?如果你没有改变教程中的客户端和服务器之间的任何东西,它不应该是一个代码错误。 – 2013-02-26 18:40:44
我确实改变了端口,就是这样,但是确定,它会在高级版中使用:) – Canvas 2013-02-26 19:00:45