2012-05-04 3 views
2

데이터 동기화를 사용하는 앱 개발. 느린 인터넷 연결로 이미지를 보내면 (심지어 크기가 조정 된 경우) 시간이 걸립니다. 인터넷 속도를 먼저 확인하는 것이 가장 좋을 것입니다. 그리고 속도가 받아 들여질 수있을 때만 데이터를 보냅니다. Apple Reachability 클래스가 있지만 Wi-Fi가 켜져 있는지 확인하는 방법 만 있습니다. 내 생각에, 호스트를 핑 (ping)하고 핑 (ping) cmd 결과에서 지연 정보를 얻는 것으로 충분할 것입니다. 결정에 사용하는 지연 정보는 지금 데이터를 보내거나 기다릴 가치가 있습니다. 이렇게호스트에 ping을 걸어도 지연 될 수 있습니까?

+1

대기 시간 = 대역폭, 핑이 정말로 필요한 것입니까? 그래도 이것이 도움이 될 수도 있지만 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 *) Pinger의의 didReceivePingResponsePacket : (을 NSData *) 패킷 sequenceNumber는 (uint16_t) sequenceNumber'도'의 Info.plist에' NSAppTransportSecurity NSAllowsArbitraryLoads를 추가 한 후, 호출되지 없구요. – Jaybo

관련 문제