Si realmente necesita saberlo, tendrá que probarlo.
Configura una conexión a un servidor conocido que tiene baja latencia. En un hilo separado, marque la hora (Hora A) y envíe un paquete (asegúrese de que sea un paquete). Espera en ese hilo. Marque la hora del primer paquete (Tiempo B). Lee los datos hasta que termines Marque la hora del último paquete (Hora C). Asegúrese de que la respuesta del servidor abarque al menos tres paquetes.
Time B - Time A es una estimación aproximada de la latencia. Time C - Time B es una estimación aproximada del ancho de banda.
Porque desea ser lo más preciso posible, use el nivel más bajo de acceso a la red que tenga disponible (creo que en el iPhone esto es enchufes). Use bloques de datos aleatorios de longitudes fijas como su solicitud y respuesta. Unos pocos bytes para la solicitud deberían ser suficientes, pero la respuesta debe estar bien construida. Asegúrese de que el servidor envíe un primer paquete pequeño, luego una secuencia de paquetes lo suficientemente grande como para llenar tres o más.
En ese punto deberá realizar una prueba. Prueba, prueba, prueba y prueba. Pruebe los diferentes tipos de redes, pruebe con diferentes cantidades de tráfico de red, pruebe con redes de conmutación y pruebe cualquier otra cosa que se le ocurra.
¡No es un duplicado! –
@gunjotsingh la respuesta a la pregunta inicial en realidad está aquí: https://stackoverflow.com/a/34333204/751932 Aunque la pregunta sobre la velocidad de conexión se marcó como duplicada para esto ... – Speakus