私はJavaを作成しようとしていますが(Javaではなく、確かにそれを含めることができます)、他のJavaプログラムからWebページにライブコンソールを印刷できるようになります。私はJava Webサーバーを作成する方法を知っていて、実行中の他のJavaプログラムの入出力ストリームにアクセスする方法を知っていますが、コンソール出力を送信し、そのWebページからコンソール入力を取得する方法はわかりません。Java WebサーバーからWebページにライブアップデートを提供するにはどうすればよいですか?
私はhtmlを使うことができ、半秒ごとにページをリロードすることができましたが、誰もコンソールに送るものは誰も入力できませんでした。
私はASPを使用することをお勧めしますが、私はどこから始めるべきかわかりません。
要約すると、私はライブデータをウェブページに送信して表示し、ライブユーザ入力をウェブサーバに戻したいと思う。参考のため
、私は、Webページに送信する出力のため、以下のものを使用しています:
ProcessBuilder pb = new ProcessBuilder("java", "-jar", "my.jar");
pb.directory(new File("C:/Users/Michael Forseth/Desktop/Server Stuff/Test Moltres/TEST SERVER"));
final Process p = pb.start();
InputStream in = p.getInputStream();
InputStreamReader ins = new InputStreamReader(in);
BufferedReader br = new BufferedReader(ins);
String line;
while((line = br.readLine()) != null){
//Send "line" to webpage for user to see
System.out.println("CONSOLE: " + line);
}
ユーザーが何もしなくても更新する必要があるので、私はwebsocketを探していると思います。 ajaxに毎秒更新するよう要求するjsタイマーを作ることは可能でしょうか? – Forseth11
WebSocketは、httpプロトコルのように1回の要求後に接続を閉じることはないため、Webサーバーを調整する必要があります。 シンプルなjsタイマーでうまくいくかもしれませんが、この例を示す[この回答](https://stackoverflow.com/questions/6835835/jquery-simple-polling-example)をチェックしてください。 インタークーラを調べる場合は、[この例]をご覧ください(http://intercoolerjs.org/attributes/ic-poll-repeats.html) – fowlie
WebSocketsを介して動作させるようにしました。私はこの例をここで見つけました:http://restlessdev.com/blog/websockets-in-javaそして私はそれを変更することができました。これは今のようになりました。そして、私が作ったコマンドとやりとりするJava:[完成した画像](https://i.gyazo.com/37ae5cf4ac6bc014c22b2fab03b52f0d.png) – Forseth11