是否有一種方式來獲得當前網絡速度或者如果設備上EDGE/3G/GPRS? 我可以使用Reachability來區分WiFI和WMAN,但這對我的應用程序來說還不夠。
9
A
回答
11
如果你真的需要知道,你將不得不測試它。
建立與低延遲的已知服務器的連接。在一個單獨的線程中,標記時間(時間A)併發送一個數據包(確保它是一個數據包)。等待那個線程。標記第一個數據包的時間(時間B)。讀完數據直到完成。標記最後一個數據包的時間(時間C)。確保服務器響應跨越至少三個數據包。
時間B - 時間A是一個非常粗略的延遲估計。 時間C - 時間B是一個非常粗略的帶寬估計。
因爲您希望儘可能準確,請使用您可用的最低級別的網絡訪問權限(我相信iPhone是套接字)。使用固定長度的隨機數據塊作爲請求和響應。請求的幾個字節應該足夠了,但響應需要很好地構建。確保服務器發送一個小的第一個數據包,然後發送一個足夠大的數據包以填充三個或更多的數據包。
此時您需要測試。測試,測試,測試和測試。測試不同的網絡類型,測試不同數量的網絡流量,使用交換網絡進行測試,並測試任何您能想到的東西。
+1
有趣的技術方法。所以不管是WIFI還是3G等......這應該給一些球場估計的可用帶寬。我正在尋找這樣的解決方案,所以我可以在邏輯上決定在網絡中放大或縮小圖像。較小的那些首選較低帶寬的情況 – jcpennypincher
相關問題
- 1. OSX-iOS:檢測iOS設備連接類型(有線/無線)
- 2. 測量TCP連接速度
- 3. NSNotification(或類似)檢測iOS上藍牙連接的變化?
- 4. 檢測移動帶寬/連接類型
- 5. sencha touch + phonegap ::如何測量iOS上的網絡連接速度(3G檢查)iPhone
- 6. Silverlight中的連接速度測試
- 7. 檢測.net/WCF中的連接速度/帶寬
- 8. 如何檢測與Java的Internet連接速度?
- 9. 檢查互聯網連接速度緩慢iOS
- 10. Winsock滯後,測試連接速度
- 11. 負載測試連接速度慢
- 12. 如何檢查網絡連接速度
- 13. 無法檢測並處理網絡連接速度緩慢(WebServices)
- 14. 以編程方式連接或檢測iOS中的某個WiFi?
- 15. 檢測Android中的速度
- 16. 檢測接口的泛型類型
- 17. 確定iOS中WWAN連接的類型
- 18. 檢測連接
- 19. 檢測連接
- 20. 檢測我的手機上的互聯網連接類型
- 21. 以編程方式檢測安裝的卷的連接類型
- 22. 如何檢測調度隊列的類型(串行或併發)?
- 23. Multipeer - 對等連接強度檢測
- 24. 加速度方向檢測
- 25. 爲了檢測IOS設備類型
- 26. 在網站上檢測iPhone的連接類型?
- 27. 如何檢測WinRT應用程序的Internet連接類型
- 28. 從接口類型檢測類
- 29. 迅速檢測互聯網速度
- 30. 我的HTTP服務器能夠檢測到客戶端的連接速度嗎?
不是重複! –
@gunjotsingh對於最初的問題的答案實際上是在這裏:https://stackoverflow.com/a/34333204/751932雖然有關連接速度的問題被標記爲重複... – Speakus