アクセス人数制限CGIについて。
お世話になります。
特定ファイルに同時アクセスする人数を制限して、制限を越えたら
「しばらくお待ちください」みたいなメッセージを表示するCGI、
あるいは他の方法でもよいのですが、何か方法があるでしょうか。
理由は150Kbps約60分のストリーミングファイルを公開したいのですが、
レンタルサーバのデーター転送制限の関係で、2人までの同時アクセスは
セーフで、3人になると転送制限を超えてしまいアウト。サーバ屋さんから
怒られてしまいます。
なんとかこのファイルを公開していので、皆さんのお知恵を拝借させて
ください。
No.2
- 回答日時:
psコマンドで同名CGIのプロセス数を数える、くらいでよければ、
どこのレンタルサーバでもできそうだし、処理も簡単かと思います。
この回答への補足
netaninja さん お答えありがとうございます。
自分はプログラムを作ったことがなく、CGIは既存のものに多少表示などの変更をする程度の
知識しかありません。どこか、本件の参考になるサイトがありましたらご紹介してください。
No.3ベストアンサー
- 回答日時:
プログラム的には簡単とはいえ、
unixコマンドとかhttpの予備知識がないとキツいでしょうね・・
とりあえずperlのサンプルです。
ただ書いただけで、動作確認はしてません。
------------------------
#!/usr/bin/perl
my $fn='largefile.flv';
my @ps=`ps ax | grep $fn | grep -v 'grep'`;
if(@ps>2){
print "Content-type: text/html\n\n";
print "<html><head></head><body>Overloaded.</body></html>\n";
exit;
}
print "Content-type: video/flv\n";
print "Content-Disposition: inline; filename="$fn"\n\n";
system("cat $fn");
exit;
-------------------------
・最初の'largefile.flv'は、公開したいストリーミングファイル名に変更して下さい。
ただし、ファイル名が日本語だと、保存しようとした時に化けます。
対応するとけっこうタイヘンなんです。詳しくは
http://cydn.cybozu.co.jp/office/2008/07/post_1.h …
・Content-Typeをprintしている行のvideo/flvは、flv動画の場合です。
ストリーミングファイルの種類に応じて、変更する必要があります。
Content-Typeについては、
「動画 content-type」でぐぐってください。
・psコマンドについては、
http://www.garunimo.com/program/linux/linux11.xh …
このCGIを<a>タグなり、flashプレイヤーの<object>タグなりの
もともとのストリーミングファイルの代わりに指定します。
#前回の回答には「同じCGI名を数える」と書いてましたが、
#cat使ったのでファイル名を数えました。
この回答への補足
ご返事遅れました。
早速アドバイスのCGIを下記のように書き換えて試したところ、500番サーバエラーになってしまいました。レンタルサーバは「ステップサーバ」です。
映像ファイルの指定を.asxではなく、元の.asfにしてみたりと試したのですが、ダメでギブアップしました。再度アドバイスよろしくお願いいたします。
***
#!/usr/local/bin/perl
my $fn='video_001.asx';
my @ps=`ps ax | grep $fn | grep -v 'grep'`;
if(@ps>2){
print "Content-type: text/html\n\n";
print "<html><head></head><body>Overloaded.</body></html>\n";
exit;
}
print "Content-type: video/asx\n";
print "Content-Disposition: inline; filename="$fn"\n\n";
system("cat $fn");
exit;
***
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, info@stepserver.jp and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
サーバエラーの原因は、
×print "Content-Disposition: inline; filename="$fn"\n\n";
○print "Content-Disposition: inline; filename=$fn\n\n";
でした。
映像は、映像本体のasfと、そのメタファイルのasxになっていたので、実行ファイルはasx。プロセス用はasfと、切り分けて設定して、動作させることができました。
おかげさまで映像ファイルを公開できることができました。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- Excel(エクセル) Excelで、社外秘(閲覧のみ)と表示され、共有者が編集出来ないのですが 4 2023/06/20 17:54
- サーバー FTPサーバについて詳しい方(アクセス権のないディレクトリを非表示にする方法) 4 2022/08/22 22:33
- ドライブ・ストレージ 家庭用のNASについて 2 2022/07/05 18:30
- 法学 不正アクセス禁止法の扱いについて 4 2022/03/23 18:13
- その他(パソコン・スマホ・電化製品) ウイルスバスターの制限解除方法 1 2022/08/09 22:08
- その他(暮らし・生活・行事) → ※このメールは、ファミマTカードをファミペイに登録されたことがある会員様にお送りしております。す 4 2023/05/03 12:24
- フリーソフト イーファンビューでwebpファイルが開けません 1 2022/07/12 07:07
- その他(SNS・コミュニケーションサービス) Yahoo知恵袋とYahooショッピングでYahoo IDを2回変更しました、新規作成も2回以上して 2 2022/07/25 12:46
- 訴訟・裁判 ①こうゆう裁判↓は、本人訴訟でしてるのですか。 ②なんでニュースになるのですか。本人がマスコミにタレ 3 2023/07/11 12:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
結果を得て自動的にページ移動...
-
shift-jisからutf8に変換
-
Perl CGIの中で # を使ってコメ...
-
JSONで文字列が長い時
-
Application.ScreenUpdating = ...
-
16進の10進変換について
-
文字の横にプルダウンを表示さ...
-
formで特定のinputを送信しない...
-
回数を指定しないで空白行まで...
-
問題作成のWebアプリの作り方を...
-
ACCESS テキストボックスを隙...
-
子windowsからsubmit()後にclos...
-
pythonで演算子を変数に代入す...
-
FindFirst を複数条件で検索
-
【至急!!!】python言語で本を見...
-
<SELECT>タグの折り返し
-
構造体の各データの表示につい...
-
【C#】数値の範囲チェックについて
-
C言語のflagの使い方が分かりま...
-
VBAでPDFのコピーとリネームを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
my $html<<EOMの意味を教えてく...
-
malformed header from script....
-
結果を得て自動的にページ移動...
-
Perl CGIの中で # を使ってコメ...
-
パソコン → パャRン
-
shift-jisからutf8に変換
-
CGIから出力される文字が化けて...
-
フリーCGI ラジオボタンの改行...
-
テキストエリアにテキストファ...
-
HTMLのファイルにCGI処理結果を...
-
アクセス人数制限CGIについて。
-
初歩的なCGIですが その2
-
PerlでDBIを使いますが、結果セ...
-
ランダムに背景画像を変える方法。
-
Perlでの数字の12桁化
-
Pythonを用いてCGIを作る勉強を...
-
cgiでのデータ受信
-
CGIファイルを参照制御でき...
-
テキストエリアの改行表示
-
テキストファイルの読み込み
おすすめ情報