在线搜索后,当端口已被使用时发生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上发生错误。不知道如何调试这个。感谢帮助。
答案 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)
根据您的框架版本和开发环境,这通常意味着此应用程序的旧版本正在运行。检查应用程序的所有其他实例是否已停止/终止。