0

各セッションの接続数と速度を制限する NodeJs によるダウンロード スクリプトを作成する必要があります。

ファイルを読み書きできるのは NodeJs による応答です。おそらくnpm のスリープパッケージで速度を制限できますが、NodeJs でファイルをダウンロードするために複数の接続をサポートするにはどうすればよいですか?

たとえば、ユーザーが IDM でダウンロードすると、ダウンロード中に 7 または 8 の接続が表示されます。

Apache では、mode_limitipconnbw_modでそれを行うことができます

各カテゴリの速度と接続数を制限する RapidShare のようなものを意味します。

4

1 に答える 1

0

リソースへのアクセスを一度に 1 つの IP アドレスのみに制限する必要があります。

すべてのリクエストが単一のプロセスから処理されるため、Node.js ではこれを行うのは非常に簡単です。

リクエストが作成されたときに IP アドレスをオブジェクトに入力し、新しいリクエストが重複について入ったときにそのオブジェクトをチェックできます。

Express を使用していて、モジュールにルートがある場合は、IP 接続オブジェクトをルート モジュールのトップ レベルに配置できます。

var connectedIPs = {};

exports.myDownloadRoute = function(request, response) {
  var IP = request.connection.remoteAddress;
  if(connectedIPs.IP) {
    response.redirect("http://mysite.com/download_rules.html");
    return;
  }
  connectedIPs.IP = true;
  // pseudo send a file call, replace this with your code
  send_a_file(function(err) {
    // done sending or error, remove from connectedIPs
    delete connectedIPs.IP;
  }); 
}
于 2013-04-29T07:21:16.227 に答える