C++自体は割りとやってますが、マルチスレッド、通信、JavaScriptは初心者からの質問させて頂きます。
うまく伝わるかどうか心配なのですが、
要は以下のような処理イメージです。
--
ブラウザ上で、[開始]ボタンを押したら、サーバー上で処理1が実行されます。
その後、ブラウザ上では「処理1実行中」と表示されます。
その間、更にもう一度[開始]ボタンを押すと、サーバ上で処理1と同じ処理が処理2として実行されます。
処理1、処理2それぞれ処理が終わると、終わったものからブラウザ上に「完了」と表示されます。
--
伝わりますでしょうか?
このような処理で、特に分からないポイントがあります。
サーバで処理を実行開始した時点で、一度ブラウザに応答しておいて、処理を返し、処理が終了した時点で再度ブラウザに完了を通知する方法です。
ブラウザから処理されるアプリはサーバアプリ一つだと思うし、そこからマルチスレッドでは?と考えると、終わるまで処理を返せないのかなと。。。
(アホな文章になってそう。。。)
図にすると以下のようになるでしょうか?
ブラウザ - サーバアプリ間はJavaScript
サーバアプリ - 処理1(処理2)はC++です。
サーバアプリと処理1(処理2)は同じExe内でできるのならそれでも可です。
--
ユーザー(ブラウザ)
↓ ↑
サーバアプリ(C/C++)
↓ ↓ ↓
処理1 処理2 処理3(C/C++)
なるべく定期的に監視するようなタイマーとか使わないで実現可能にしたいです。
どなたかアドバイスお願いします!!
No.1ベストアンサー
- 回答日時:
概念的にはCometみたいなことをやりたいということでしょうか?
http://www.atmarkit.co.jp/fjava/rensai4/safetomc …
上記例ではサーバをTOMCAT&Javaで実現していますが、サーバを自前で実装しているのならアイディアを流用することは可能だと思います。
サーバアプリはaccept後、要求処理を行うスレッドを起動し処理が終了したら実行結果をHTTP RESPONSEにして返答します。
クライアント側はボタンが押されたら「実行中」という表示に変更した後に、JavaScriptのHttpRequestを利用してサーバに対して処理の実行を要求します。
HttpResponseで結果が返ってきたら内容を利用して完了告知を行います。
JavaScriptのHttpRequestを利用することにより、ページ遷移を伴わずに処理の終了をクライアントに通知することができます。
サーバ側のプログラムの組み方については、開発環境や実装方針によって大きく変わる(Apatchを利用するのか、自前で組むのか、Windowsなのか、UNIX系なのかなどによって異なる)ので、ここでは省略させてもらいます。
回答ありがとうございます。
Comet情報ありがとうございます。
やりたい事とは少し違うのですが、勉強になります。
私のはRequestに対し、Responseを一度返し、更にResponseをしようとしているようでした。。。それってきっと有り得ないんですよね。
(リダイレクトで更にRequestさせるとかでないと??)
もう少し考えてみます。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルVBA コードが同じでもファイルによって処理速度が大きく変わるのはなぜ 5 2022/11/06 21:34
- Excel(エクセル) マクロで謎の現象が起きていて困ってます。 エクセルで作ったボタンを押すとマクロが動いて処理をしてくれ 3 2023/06/22 17:28
- フリーソフト タスクソフト? 1 2023/01/14 07:52
- Excel(エクセル) エクセルVBA マクロ処理中のポップアップメッセージについて 1 2023/08/04 21:34
- InternetExplorer(IE) 既定のブラウザーを変更した場合、付随して処理が必要なことはありますか? 2 2022/03/25 16:04
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) こんにちは。ExcelVBA初心者につき困っています。Functionで始まっている処理の中で、処理 1 2022/06/18 21:40
- その他(プログラミング・Web制作) プログラミング 処理速度 1 2022/11/25 11:05
- 情報処理技術者・Microsoft認定資格 応用情報処理技術者試験のシステム利用率の計算について 2 2022/03/28 07:43
- エアコン・クーラー・冷暖房機 エアコンの隠ぺい配管の取り外し時の室内側処理について 3 2023/07/06 23:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
もしかして
-
エクセルで、日付を入力すると...
-
「ご処理進めて頂きますようお...
-
VBAでループ内で使う変数名を可...
-
VBAでセルに値が入力されるまで...
-
【Excel】特定の文字を含むセル...
-
自分の不注意で仕事で乗り合い...
-
メルカリのメルカードで買い物...
-
リョウ・・・量?料?
-
VBA SaveChanges 上書きされない
-
switch の範囲指定
-
VBAでGetAsynckeyStatekのエラー
-
全てのフォルダから最新ファイ...
-
インタラクティブの反対語は?
-
VBAのオートフィルについて
-
セックスレスの既婚女性は自慰...
-
DoEventsがやはり分からない
-
計算の問題なのですが、 例えば...
-
findは動くがfindnextがマクロ...
-
お家デートをしててハグを長い...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「ご処理進めて頂きますようお...
-
メルカリのメルカードで買い物...
-
エクセルで、日付を入力すると...
-
VBAでループ内で使う変数名を可...
-
【Excel】特定の文字を含むセル...
-
EXCEL VBA マクロ 実行する度に...
-
switch の範囲指定
-
DoEventsがやはり分からない
-
VBの質問#if 0 then ってどう...
-
UMLでの例外処理
-
Do~Loopした回数をカウントしたい
-
VB.NET Excelを読み込んでDataT...
-
月度は何て読みますか?
-
findは動くがfindnextがマクロ...
-
リョウ・・・量?料?
-
iD
-
VBA SaveChanges 上書きされない
-
Select Case文でこのようなこと...
-
Loadイベント中にほかのイベン...
-
セルの値が0はクリアするマクロ
おすすめ情報