2017-03-24 6 views
1

ポートがすでに使用中の場合にBindExceptionが発生します。しかし、私はこのポート番号を一度しか使用していません。ここに私のコードです。java.net.BindException:すでに使用中のアドレス(バインドに失敗しました)が、オンラインで検索したあとにポートが1回だけ使用されます。

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のインスタンスを作成しようとすると、エラーが5行目で発生します。これをデバッグする方法がわかりません。ヘルプは高く評価されます。

+0

WindowsまたはLinux? – BCartolo

答えて

1

管理者としてのWindowsコンピュータ、実行するコマンドプロンプト上のポートを解放し、次のコマンドを実行するには:あなたのフレームワークのバージョンと開発環境に応じて

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. 
0

を、これは通常意味がありますこのアプリの古いバージョンが動作しています。アプリの他のすべてのインスタンスが停止/強制終了されていることを確認してください。

関連する問題