2012-05-04 18 views
2

開發一個使用數據同步的應用程序。如果通過較慢的互聯網連接完成發送圖像(甚至調整大小)需要時間。思考,最好先檢查網速,並在速度可接受的情況下發送數據。有Apple Reachability類,但它只有檢查wifi的方法。我想對我來說,ping一個主機並從ping cmd結果中獲取延遲信息就足夠了。我將用於決定的延遲信息是值得現在發送數據還是等待。是否可以ping主機並得到延遲?

+1

延遲!=帶寬,確定ping是你真正需要的嗎?雖然,如果是這樣,這可能會有所幫助:http://stackoverflow.com/questions/7437643/ios-ping-with-timeout – ckhan

回答

1

可達性或平不會告訴你怎麼漲快跌慢的文件將被傳輸。這是ping_time +(file_size/bandwidth)的函數。對於任何大文件,ping_time比file_size/bandwidth要小得多。

衡量這個最簡單的方法是讓應用程序下載和上傳一個不太小不太大的文件,並確定上傳和下載速度是否「足夠快」。

+0

好點,謝謝:) – Centurion

1

這樣做,這是相當複雜的,但是蘋果有一個完整的工作示例程序位置:

https://developer.apple.com/library/mac/#samplecode/SimplePing/Introduction/Intro.html#//apple_ref/doc/uid/DTS10000716-Intro-DontLinkElementID_2

+0

它不適用於iOS。 ' - (無效)simplePing:(SimplePing *)平兒didReceivePingResponsePacket:(NSData的*)數據包的sequenceNumber:(uint16_t)sequenceNumber'不會被調用,甚至加入' NSAppTransportSecurity NSAllowsArbitraryLoads'來的Info.plist後。 – Jaybo

相關問題