- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マルチスレッド絡み?マルチなサーバ処理をリアルタイムにブラウザに返す方法が…)
マルチなサーバ処理をリアルタイムにブラウザに返す方法
このQ&Aのポイント
- マルチスレッド、通信、JavaScriptが初心者からの質問です。
- ブラウザ上で開始ボタンを押すと、サーバで処理1が実行されます。その間にもう一度開始ボタンを押すと、処理2が実行されます。処理が終わると、ブラウザに完了が表示されます。
- ブラウザとサーバアプリはJavaScriptで通信し、サーバアプリはC++で処理を行います。定期的な監視は使用せずに実現したいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
概念的にはCometみたいなことをやりたいということでしょうか? http://www.atmarkit.co.jp/fjava/rensai4/safetomcat_03/safetomcat_03_1.html 上記例ではサーバをTOMCAT&Javaで実現していますが、サーバを自前で実装しているのならアイディアを流用することは可能だと思います。 サーバアプリはaccept後、要求処理を行うスレッドを起動し処理が終了したら実行結果をHTTP RESPONSEにして返答します。 クライアント側はボタンが押されたら「実行中」という表示に変更した後に、JavaScriptのHttpRequestを利用してサーバに対して処理の実行を要求します。 HttpResponseで結果が返ってきたら内容を利用して完了告知を行います。 JavaScriptのHttpRequestを利用することにより、ページ遷移を伴わずに処理の終了をクライアントに通知することができます。 サーバ側のプログラムの組み方については、開発環境や実装方針によって大きく変わる(Apatchを利用するのか、自前で組むのか、Windowsなのか、UNIX系なのかなどによって異なる)ので、ここでは省略させてもらいます。
お礼
回答ありがとうございます。 Comet情報ありがとうございます。 やりたい事とは少し違うのですが、勉強になります。 私のはRequestに対し、Responseを一度返し、更にResponseをしようとしているようでした。。。それってきっと有り得ないんですよね。 (リダイレクトで更にRequestさせるとかでないと??) もう少し考えてみます。。。