2

モバイルでクライアントにビデオを送信する必要がありますが、各クライアントはさまざまな方法でインターネットに接続し、接続が遅く、高速であり、ビデオから2つのバージョンがあるため、小さいものを低速の接続に送信し、大きいものを高速に送信できます.

setInterval(function(){
    if(navigator.onLine){
        $("body").html("Connected.");
    }else{
        $("body").html("Not connected.");
    }
},1000);

上記のコードは、接続されているかどうかを返します。

問題は次のとおりです。

モバイルでインターネット接続の種類を検出する方法はありますか? 3G、WIFIなど...など

4

4 に答える 4

4

これに似たものをコーディングできます。

var imageAddr = "http://www.tranquilmusic.ca/images/cats/Cat2.JPG" + "?n=" + Math.random();
    var startTime, endTime;
    var downloadSize = 5616998;
    var download = new Image();
    download.onload = function () {
        endTime = (new Date()).getTime();
        showResults();
    }
    startTime = (new Date()).getTime();
    download.src = imageAddr;

    function showResults() {
        var duration = (endTime - startTime) / 1000; //Math.round()
        var bitsLoaded = downloadSize * 8;
        var speedBps = (bitsLoaded / duration).toFixed(2);
        var speedKbps = (speedBps / 1024).toFixed(2);
        var speedMbps = (speedKbps / 1024).toFixed(2);
        alert("Your connection speed is: \n" + 
               speedBps + " bps\n"   + 
               speedKbps + " kbps\n" + 
               speedMbps + " Mbps\n" );
    }​

このコードを使用して、クライアントのインターネット速度を検出できます。接続タイプを検出する方法はありません。速度を検出するには、256KB以上のファイルで十分です。

于 2012-12-24T13:00:44.500 に答える
3

1 つの方法は、ファイルを要求して、ダウンロードにかかる時間を確認することです。例については、これを参照してください。

クライアントがモバイル デバイスを使用している場合、サイトがダウンロードする追加バイトごとにコストがかかる可能性があります。また、ファイルのダウンロードにかかる時間に影響を与える要因は多数あり、「接続の種類」はその 1 つにすぎません。

ただし、この方法では適切な概算が得られるはずです。

于 2012-12-24T12:54:56.083 に答える
0

元の質問では、(A) ダウンロードと (B) アップロードの接続速度を区別していません (はい、エンド ユーザーにビデオを送信する必要がありますが、ユーザーがアップロードしたばかりのビデオである可能性があります)。受け入れられた回答は、ダウンロード速度の測定に役立ちます。

アップロード速度については、非表示フォームの非表示フォーム フィールドに base64 でエンコードされた画像を埋め込むことを検討してください。また、非表示の iframe を作成し、非表示のフォームを非表示の iframe にターゲット設定します。非表示のフォームを JavaScript 経由で送信し、現在の時刻を JS 変数に保存します。結果のページで onload が発生すると、iframe とその親ウィンドウの間で JavaScript を介して通信し、onload イベントが発生した時刻を送信します。開始時刻と終了時刻を比較し、送信されたバイト数で割ります。

ブラウザーの同一生成元ポリシーに準拠するために、iframe 内のドキュメントは、iframe を含むウィンドウ内のドキュメントと同じドメインにある必要があります。

于 2014-06-10T21:31:12.450 に答える