アプリケーションの実行中に利用できるインターネット接続を知る必要があります。Apple の Reachability の例を確認しましたが、これは wifi とキャリア ネットワークの間でのみ異なります。私が知る必要があるのは、UMTS、EDGE、または GPRS のどのキャリア ネットワークが選択されているかです。
4 に答える
現在、この情報は利用できません。この機能が必要な場合は、新しいバグを報告し、これがバグ 6014806 の複製であることを伝えてください。
サーバーへの往復の待ち時間を確認することで、現在使用しているネットワークの種類を推測できます。100 ミリ秒未満の数値を取得している場合は、ほぼ確実に WiFi を使用しています。
GPRS と EDGE は、約 600 ミリ秒のレイテンシで実行されます。UMTS/HSDPA は 100 ~ 200 ミリ秒です。
出典: 私の非公式テストと [AT&T][1] の数値。
サイトのさまざまなバージョンを3G、EDGE、GPRS、wifiブロードバンド用にハードコーディングするのではなく、接続速度を検出してサイトを適切なレベルの帯域幅までブートストラップするフレームワークを構築してみませんか?そうすれば、低速の3G / Wi-Fiで適切な結果が得られ、最小限の労力/中断で次世代のワイヤレスブロードバンド(WiMaxや802.11nなど)に自然に拡張できます。
たとえば、さまざまな帯域幅の「チェックポイント」(3G、EDGEなどに対応する可能性があります)を決定してから、小さなデータを転送したり、すべてに共通の小さな画像(アイコンなど)をキャッシュしたりできます。帯域幅レベル、バックグラウンドでのダウンロード速度のベンチマークを行い、それに応じて帯域幅レベルを設定します。
ファイルのみ
私はウェッジの答えが好きです。ただし、ファイルが ISP によってキャッシュされないかどうかはわかりません。常に新しいファイル名を生成し続けるか、結果を得るのに十分な時間だけテストするのに十分な大きさのファイルを選択できます。
単純なレイテンシ
レイテンシを使用するという考えは近いですが、シヴァンが述べたように、それは不正確です. オーストラリアから英国にいるユーザーは、約 350 ミリ秒のレイテンシーを取得しますが、ローカル ユーザーは 30 ~ 40 ミリ秒と低いことがわかります。
解: 平均偏差
サーバーに 3 つのパケットで ping を実行し、3G での平均偏差 (mdev) を見ると、通常は 50 ミリ秒未満です。2G/EDGE では、ほとんどの場合 100 ミリ秒を超えます。AUS に対して 65 ミリ秒で 1 つの外れ値を得ました。
私のテストでは、4 ミリ秒から 38 ミリ秒の範囲が見つかりましたが、ベルギーからオーストラリアへのテストで 202 ミリ秒の例外が 1 つだけありました。
それが誰かに役立つことを願っています..