0

iPhone で TCP と UDP を評価するために、小さなエコー サーバーをコンピューターに作成し、iPhone で AsyncUdpSocket ライブラリを使用しましたが、レイテンシが驚くほど大きくなり、私の実装に何らかの問題があるのではないかと考えています。

私のセットアップには、外部静的 IP を持つ wifi-router (Apple Airport) があります。エコー サーバーが使用するポートは、開発用コンピューターに転送されます。

2 つの異なるセットアップを使用しました。

  1. iPhone -> Wifi -> Wifi ルーター -> Wifi -> パソコン
  2. iPhone -> 3G -> Wifi ルーター -> Wifi -> パソコン

パケット サイズは約 10 バイトでした。

最初のケースでは、ラウンドトリップは 9 ミリ秒から 600 ミリ秒まで変化しました。ほとんどの場合、約 300 ミリ秒の中央値が表示されますが、一部の実行では 30 ミリ秒しかありません。

2 番目のケース... 最良のケースは 2000 ミリ秒、最大 5000 ミリ秒です。

実装では、UDP パケットを送信し、戻ってくるまで待ってから、次のパケットを送信します。

最初は実装に問題があると思っていましたが、シミュレーターから実行すると、一貫してわずか 7 ミリ秒のレイテンシーが得られました。

私の数字は正しいですか、それとも何か奇妙なことが起こっていますか?

4

2 に答える 2

1

30 秒ごとに 1 バイトの udp パケットを送信すると、レイテンシーが消えました。この方法では、アンテナは決してスリープしません。

于 2014-06-03T00:45:39.737 に答える