¿Cómo puedo simular una mala conexión a Internet con alta latencia, bajo ancho de banda, jitter y pérdida ocasional de paquetes en un entorno local?
Si estás en Windows, puedes probar SoftPerfect Connection Emulator . Básicamente es un controlador que se inyecta entre su aplicación y la capa de red (similar a Wireshark / WinPCAP) para la NIC seleccionada y puede simular ancho de banda limitado, latencia, pérdida de paquetes y otras cosas. La interfaz de usuario es simple y directa.
Es un producto comercial, pero el juicio le permite hacer estallidos de "interferencia" de 30 segundos que deberían ser lo suficientemente buenos para que usted juzgue si esta herramienta hace lo que desea.
Otra opción multiplataforma es DummyNet , que se comporta de manera similar (a través de ipfw) pero es un poco menos fácil de usar.
Me gustaría probar cómo funciona la experiencia del usuario para alguien que no tiene una buena conexión con el servidor.
Creo que esta parte de la pregunta podría reformularse como "¿cómo trato con la latencia de red en mi aplicación?" Una técnica de uso común y efectiva es Dead Reckoning . El artículo vinculado lo explica mejor que yo, pero la idea básica es que sus clientes "simulen" dónde debería estar cada entidad y qué debería hacer mediante un algoritmo. Siempre que una entidad se desvía de este algoritmo (es decir, entrada del jugador, evento del lado del servidor, etc.), envía una actualización a cada cliente.