Typische UDP-Latenz auf dem iPhone über 3G - sind meine Nummern richtig?

Um TCP im Vergleich zu UDP auf dem iPhone auszuwerten, habe ich einen kleinen Echoserver auf meinem Computer geschrieben und die AsyncUdpSocket-Bibliothek auf dem iPhone verwendet. Die Latenzen sind jedoch überraschend hoch und ich frage mich, ob etwas mit meiner Implementierung nicht stimmt.

Mein Setup hat einen WLAN-Router (Apple Airport), der eine externe statische IP hat. Der vom Echoserver verwendete Port wird an meinen Entwicklungscomputer weitergeleitet.

Ich habe zwei verschiedene Setups verwendet:

iPhone -> WLAN -> WLAN-Router -> WLAN -> ComputeriPhone -> 3G -> WLAN Router -> WLAN -> Computer

Die Paketgröße betrug ungefähr 10 Bytes.

Im ersten Fall variierte die Hin- und Rückfahrt von 9 ms bis 600 ms. Meistens würde ich einen Median von ungefähr 300 ms sehen, aber einige Läufe hätten nur 30 ms.

Zweiter Fall ... Bester Fall 2000 ms, bis zu 5000 ms.

Die Implementierung würde ein UDP-Paket senden, warten, bis es zurückkommt, und dann das nächste senden.

Anfangs glaubte ich, dass etwas mit der Implementierung nicht stimmte, aber wenn ich es vom Simulator aus laufen ließ, ergab sich eine konstante Latenz von nur 7 ms.

Stimmen meine Zahlen oder ist etwas Seltsames los?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage