現在作成中のPerlCGIプログラムを実際に実行すると、かなりのレコード件数の処理をおこなうので、処理終了までの時間がかかると考えられます。
その間ユーザーの画面に、「現在処理中しばらくお待ちください。」という表示だけでは、「おい!本当に動いてるのかよ」と不安にさせることになりますので、1レコードの処理が終了するごとに「1件目の処理が終了しました。」「2件目の処理が終了しました。」・・・というように表示させたいのです。
よくWebページで処理を依頼すると、「現在処理中」とかで、レベルメーターが伸びていくのとかありますが、そんな感じです。
どのようなコードを書けば、レコードの処理ごとにユーザー側のHTMLを更新することが出来るのでしょう。
コーディング例または、参考URLなど教えていただけたら助かります。
No.4ベストアンサー
- 回答日時:
私も以前似たようなことをやったことがあります。
参考URLから下の方を読んでみてください。
(「サーバによるタイムアウトを回避」なんかはそのまま使えると思う)
ただ、レベルメータはJavaScriptで実装した方がいいかもしれません。
(できんことはないでしょうが、デザイン的に結構制限されると思う)
参考URL:http://www.bioinfo.jp/tips.html#timeout
No.3
- 回答日時:
そうとう以前、標準時間の表示CGI出力で
上から順番に文字(時刻)が出てくるのがありました
これはサーバと同期しているようで
当時どんな仕組みなのか調べた覚えがあります(今では完全に忘れてます)
コネクションを開いたままで動作(HTMLの追記)していたようでしたが・・
http://www2.nict.go.jp/pub/jst/index-J.html
CGIの方は現在はやっていないようですので 応用できると思ったのですけど検証できませんね
非同期なら#2の方の言うとおりJavaScriptでごまかすしかないと思います
http://allabout.co.jp/career/javascript/closeup/ …
参考URL:http://allabout.co.jp/career/javascript/closeup/ …
No.2
- 回答日時:
HTTPプロトコルはクライアントがサーバにリクエストして、サーバがそれに答えることしかできません。
サーバ側から定期的にクライアント側に情報を送ることはできないのです。
javascriptを使ってクライアント側が定期的にサーバにアクセスするようにするしか手はないでしょう。
なお、仰っているようなレベルメータですが、それはダウンロードが何%終わったとかを示すものではないですか?その場合はあくまで1回のやり取りですよね。そうでない例はHTTPプロトコルの性質上ありえないと思います。
>サーバ側から定期的にクライアント側に情報を送ることはできないのです。
そうですよね。
>javascriptを使ってクライアント側が定期的にサーバにアクセスするようにするしか手はないでしょう。
それってどんなjavascriptのコードですか?
>それはダウンロードが何%終わったとかを示すものではないですか?
あっ、それは違うというのは分かってます。
例えばASPでLinkShareが個人の報酬集計の際に実行するすると、集計中に■が増えていって、集計後が表示されるみたいな感じです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelのマクロについてご教授ください 2 2023/02/25 09:43
- Excel(エクセル) エクセルVBA マクロ処理中のポップアップメッセージについて 1 2023/08/04 21:34
- その他(プログラミング・Web制作) 単純なコマンドプロンプトが動きません。 2 2022/04/19 15:21
- その他(データベース) 業務用のデータベースサーバーの選び方について 4 2022/11/22 10:22
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- エアコン・クーラー・冷暖房機 エアコンの隠ぺい配管の取り外し時の室内側処理について 3 2023/07/06 23:03
- プロバイダー・ISP ドコモ光を契約して、プロバイダーにビッグローブを選択したのが大間違い! 3 2022/09/12 23:12
- Visual Basic(VBA) エクセルVBA コードが同じでもファイルによって処理速度が大きく変わるのはなぜ 5 2022/11/06 21:34
- PostgreSQL DBFluteについて質問です。 環境:PostgreSQL java8 前提:webアプリケーショ 1 2022/07/07 00:49
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<%@ language="VBScript" %>
-
CPUを2つ搭載するといいのです...
-
ASPでDLLの呼び出し
-
Socket通信で、通信終了のイベ...
-
RedirectとTransferの違い
-
三菱GOTの画面切り替えについて
-
フォーム上で押されたボタンに...
-
リクエストに応じたselectedの...
-
C言語で今まで表示していた画面...
-
腕時計の時報をならないように...
-
漏電遮断器の黄色ボタンと白色...
-
ボタンが活性化の場合とは、ボ...
-
「<c:forEach タグが終了し...
-
Strutsで画面遷移させない。
-
FormのsubmitでFormの内容がnull
-
C# ログイン画面からメイン画面...
-
[JSP]1Servletから複数フレーム...
-
このadidasの腕時計の時刻の設...
-
j-axis 腕時計のアラーム止めたい
-
EXCEL VBAで、EXCELの入力規則...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
NetworkStreamからのRead()で、...
-
VC++のHTTP通信
-
ASPとCGIの違い
-
処理終了後、他のプログラムへP...
-
CPUを2つ搭載するといいのです...
-
Webサービスについて(基になる...
-
IIS+VBScriptでの処理待ちについて
-
別のサーバにリクエストを飛ば...
-
一定時間でPostBackさせたい(A...
-
COBOL97,Power-COBOLでの効率の...
-
画面サイズ取得について
-
Socket通信で、通信終了のイベ...
-
CGI(Perl)のメッセージボックス...
-
入力フォームの入力チェックに...
-
ASP.NET MVCのAjaxフォーム検証
-
PerlからDB接続し、データ登録...
-
サーバーの仕組みについて
-
VBでFeliCaやUSBメモリでWindow...
-
ランダムイメージの処理、JavaS...
-
ラジオボタンをクリックすると...
おすすめ情報