java.net.BindException:地址已在使用中,即使端口未在使用中

snvhrwxg  于 2023-01-07  发布在  Java
关注(0)|答案(1)|浏览(154)

我正在尝试用Java创建一个小型Web服务器,我遇到了这个问题:当我打开ServerSocket并测试与postamn的连接时,它抛出java.net.BindException:地址已在使用中
使用netstat停止java执行我看不到这个端口,所以它没有被使用。

package Server;

public class CallManager extends Thread{

    public CallManager()
    {
        setName("CallManager");
        start();
    }

    public void run() {
        System.out.println("-> "+getName()+" at "+Config.sdf.format(new Timestamp(System.currentTimeMillis()))+": sono in ascolto sulla porta " +
                +Config.server_port+" in attesa di richieste");

        while (true)
        {
            try {
                new PoncharelloCall(new ServerSocket(Config.server_port).accept());
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

and here is the exception java.net.BindException: Address already in use at Server.CallManager.run(CallManager.java:24)
正如我之前使用netstat时所说,我无法在Java程序之外找到使用此端口(13002)的另一个进程

iklwldmw

iklwldmw1#

我的VMS有一个以上的IP,所以把InetAddress放在ServerSocket中解决了我的问题。谢谢

相关问题