java.net.BindException:地址已在使用中(绑定失败)但端口仅使用一次

时间:2017-03-24 21:05:56

标签: java sockets debugging server

在线搜索后,当端口已被使用时发生BindException。但我只用了一次这个端口号。这是我的代码。

public class ServerUI extends Application {
    private ServerSocket serverSocket = null;

    public ServerUI() throws IOException {
        this.serverSocket = new ServerSocket(1111);
    }

    @Override
    public void start(Stage primaryStage) throws Exception {
        ServerUI server = new ServerUI();

        FXMLLoader loader = new FXMLLoader(getClass().getResource("sample.fxml"));
        Parent root = (Parent)loader.load();

        Controller controller = (Controller)loader.getController();

        primaryStage.setTitle("Server");
        primaryStage.setScene(new Scene(root, 300, 275));
        primaryStage.show();
    }

    public static void main(String[] args) {launch(args);}
}

根据堆栈跟踪,当我尝试在line10上创建ServerUI实例时,在line5上发生错误。不知道如何调试这个。感谢帮助。

2 个答案:

答案 0 :(得分:1)

要释放 Windows 计算机上的端口,请以 administrator 运行命令提示符并执行以下命令:

netstat -o -n -a | findstr 0.0:1111 // finds the process using the port
taskkill /F /PID 10880 // change 10880 with your PID number which you can see from the previous command.

答案 1 :(得分:0)

根据您的框架版本和开发环境,这通常意味着此应用程序的旧版本正在运行。检查应用程序的所有其他实例是否已停止/终止。