Як я можу імітувати погане з'єднання з Інтернетом із високою затримкою, низькою пропускною здатністю, тремтінням та випадковими втратами пакетів у локальному середовищі?
Якщо у вас є Windows, ви можете спробувати емулятор підключення SoftPerfect Connection . Це в основному драйвер, який вводить себе між вашим додатком та мережевим шаром (подібним до Wireshark / WinPCAP) для вибраного NIC і може імітувати обмежену пропускну здатність, затримку, втрату пакету та інші речі. Інтерфейс користувача простий і простий.
Це комерційний продукт, але пробна версія дозволяє вам робити 30-секундні сплески "втручання", які повинні бути досить хорошими, щоб ви могли оцінити, чи робить цей інструмент те, що ви хочете.
Інший кросплатформенний варіант - DummyNet , який веде себе аналогічно (через ipfw), але трохи менш простий у використанні.
Я хотів би перевірити, як працює досвід користувача для того, хто не має такого хорошого зв’язку з сервером.
Я думаю, що цю частину питання можна було б відновити як "як я маю справу з затримкою мережі в моїй програмі?" Один з широко використовуваних та ефективних методів - Dead Reckoning . Пов'язана стаття пояснює це краще, ніж я можу, але основна ідея полягає в тому, що ваші клієнти наче «імітують», де має бути кожна сутність і що вона повинна робити за алгоритмом. Щоразу, коли суб'єкт господарювання відхиляється від цього алгоритму (тобто введення гравця, подія на стороні сервера тощо), він надсилає оновлення кожному клієнту.