1

pty.js と xterm.js で端末エミュレータを作成しようとしています。私はこれまでにこのようなことを試したことがないので、間違ったことを言ったら申し訳ありません。正しく理解できていないからです。とにかく、端末は JavaFX 内に表示され、WebViewすべての GUI の準備が整い、テスト済みです。私が見つけたものから、pty.jsがそこでシェルを生成し、WebView. 今、私はServerSocket新しいサーバーを使用してサーバーを作成しようとしていますThreadしかし、アプリケーションをテストしてターミナル ボタンをクリックすると、アプリケーションがフリーズします。ローカルホストにアクセスして、サーバーが実行されているかどうかをテストしましたが、サーバーは稼働していました。したがって、サーバースレッドが開始された瞬間に、アプリケーションのメインスレッドの優先度が低くなります。私は正しいですか?もしそうなら、どうすればこれを解決できますか?

以下の関数はinitialize、メイン コントローラーからロードされるターミナル シーンのメソッドで呼び出されます。誰かがなぜこれが起こっているのか説明できますか?

    private void createServerToSpawnPty() {

        Thread thread = new Thread(() -> {
            try {
                ServerSocket server = new ServerSocket(8080);
                System.out.println("Created Java localhost server on port: 8080");
                while (true) {
                    final Socket client = server.accept( );
                    System.out.println("client connected:+
                    client.isConnected( ));
                }

             }catch (IOException exception) {
                exception.printStackTrace( );
             }
         });
        thread.setDaemon(true);
        thread.run();
    }
4

1 に答える 1