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();
}