- PR -

サーバーで処理中にクライアントが画面を消去した場合はどうなるのでしょうか?

投稿者投稿内容
kana
会議室デビュー日: 2005/06/09
投稿数: 10
投稿日時: 2005-06-20 09:25
いつもお世話になっております。

.NET開発をしていて基本的な疑問かもしれませんが、
ご解答いただけると幸いです。

実行ボタンを押下するとサーバー側で何らかの処理を行うプログラムを書いていますが、
サーバーで処理中に画面消去されると、サーバー側のプログラムは動いたままなのでしょうか?
あと同様に実行中に再度実行ボタンが押下された場合、サーバー側の処理は1回目の実行中に平行して2回目の実行処理が行われるのでしょうか?
ご教授お願いいたします。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2005-06-20 10:01
kanaさん、お早うございます。

引用:

実行ボタンを押下するとサーバー側で何らかの処理を行うプログラムを書いていますが、


プログラムを書いている本人じゃないと判らないと思います。
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2005-06-20 10:13
引用:

サーバーで処理中に画面消去されると、サーバー側のプログラムは動いたままなのでしょうか?


クライアントがブラウザを閉じても、サーバーのプログラムは動き続けます。


引用:

あと同様に実行中に再度実行ボタンが押下された場合、サーバー側の処理は1回目の実行中に平行して2回目の実行処理が行われるのでしょうか?


2度押し防止の処理を書かないかぎりは、投げられたリクエストの回数分処理が行われます。

kana
会議室デビュー日: 2005/06/09
投稿数: 10
投稿日時: 2005-06-20 10:29
ありがとうございました。
やはりそうですね。。

では、実行ボタン、実行中止ボタンがあるとすると・・・
実行ボタン押下後、実行中止ボタンを押しても
実行ボタンの処理が終わった後、実行中止ボタンの処理が動くことになるのでしょうか?
それとも実行ボタン処理をしながら実行中止ボタンの処理が動くことになるのでしょうか?
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2005-06-20 10:37
サーバーはマルチスレッドで動作しているので、順番は保証されないのではないでしょうか。
リクエストが異なれば別スレッドで動作します。
「実行のリクエスト」と「中止のリクエスト」がそれぞれサーバーに投げられて、それぞれ別スレッドで処理されるイメージです。多分。
そもそも、実行中止ボタンが押下された場合はどのような処理をしているのでしょうか?
rvmx
大ベテラン
会議室デビュー日: 2002/09/26
投稿数: 184
お住まい・勤務地: 愛媛県
投稿日時: 2005-06-20 10:38
今日は

環境なんですか、WebシステムかC/Sシステムどちらですか?。
サーバーとクライアントの結合の粗密具合によります。
Webでは粗結合の為、サーバーはクライアントからの要求に対して只返答するだけです。
要するに接続をどう維持するかによります、WebではSession番号で維持しています。
C/Sでは任意に作れます。

kana
会議室デビュー日: 2005/06/09
投稿数: 10
投稿日時: 2005-06-20 11:23
ご返答ありがとうございます。

たぶんWebシステムだと思います。
実行中止ボタンはこれから作ってくれと言われて、
実行中にそれを止めれるのか?と思ったので
確認しました。

マルチスレッドということは、実行処理がTry〜catchで書いているので、
中止ボタン押下時に実行処理中の物に対し割り込みをかけれれば出来そうですが・・・
可能なのでしょうか?
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2005-06-20 11:55
引用:

たぶんWebシステムだと思います。


たぶんではなくて、はっきりさせましょう。。。
物凄く重要なことなので。


引用:

中止ボタン押下時に実行処理中の物に対し割り込みをかけれれば出来そうですが・・・


やったことないので(やろうと思ったこともない)なんとも言えませんが
簡単にできるようなことではないと思います。。。
もっとスキルが高い方が降臨するのを待ちましょう。

スキルアップ/キャリアアップ(JOB@IT)