Typowe opóźnienie UDP na telefonie iPhone przez 3G - czy moje numery są prawidłowe?
Aby ocenić TCP w porównaniu z UDP na iPhonie, napisałem mały serwer echa na moim komputerze i użyłem biblioteki AsyncUdpSocket na iPhonie, ale opóźnienia są zaskakująco duże i zastanawiam się, czy coś jest nie tak z moją implementacją.
Moja konfiguracja ma router wifi (Apple Airport), który ma zewnętrzny statyczny adres IP. Port używany przez serwer echa jest przekazywany do mojego komputera programistycznego.
Użyłem dwóch różnych ustawień:
iPhone -> Wifi -> Wifi Router -> Wifi -> KomputeriPhone -> 3G -> Wifi Router -> Wifi -> KomputerRozmiar pakietu wynosił około 10 bajtów.
W pierwszym przypadku roundtrip waha się od 9 ms do 600 ms. Głównie widziałem medianę około 300 ms, ale niektóre serie miałyby tylko 30 ms.
Drugi przypadek ... Najlepszy przypadek 2000 ms, ruch do 5000 ms.
Implementacja wyśle pakiet UDP, poczekaj, aż wróci, a następnie wyślij następny.
Początkowo wierzyłem, że coś jest nie tak z implementacją, ale uruchomienie go z symulatora daje spójne opóźnienie zaledwie 7 ms.
Czy moje numery są prawidłowe, czy dzieje się coś dziwnego?