Тестирование многопользовательского клиента / сервера с UDP? - PullRequest
0 голосов
/ 25 ноября 2011

Я использую UDP для создаваемой игры, но эта проблема не является обязательной для каждой игры. Я заметил, что всякий раз, когда я хочу что-то протестировать локально и использую широковещательную рассылку, есть вероятность, что UDP-клиент, отправляющий некоторые данные, также является тем же клиентом, получающим их снова, вместо другого клиента, также подключенного с той же машины.

Как я могу эффективно протестировать и отладить это на одной машине, смоделировав это в использованном состоянии на двух машинах?

Ответы [ 2 ]

3 голосов
/ 25 ноября 2011

Два варианта:

  1. Использовать разные порты для каждого направления трафика, например, client -> server это порт 2001, server -> client это порт 2002.
  2. Использовать виртуальную машину,Вы можете использовать VirtualBox или VMWare для настройки виртуальной ОС с сетевыми картами.

Последний вариант не потребует от вас изменения кода, но вам необходимо скопировать сервер или клиентприложение к виртуальной машине каждый раз, когда вы меняете код.

1 голос
/ 25 ноября 2011

Разве вы не используете какой-то идентификатор (имя пользователя или идентификатор), чтобы определить, кто отправил исходное сообщение?

Проверьте, отправлено ли полученное сообщение с того же идентификатора, что и получатель, и, если да, отбросьте сообщение.

...