Вопрос новичка, который я должен задать, начиная сетевое программирование для игр?

StackOverflow https://stackoverflow.com/questions/2027497

Вопрос

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

Я посмотрел онлайн и увидел, что есть сетевая библиотека с boost, я бы с удовольствием ею воспользовался, поскольку я действительно заинтересован в дальнейшей интеграции ее с моей кодовой базой.Но мне интересно, как бы я закодировал и отладил такую вещь?Если я хочу разрабатывать только на одном компьютере, как я могу эмулировать сетевую среду с выделенным / одноранговым сервером и x количеством подключенных к нему игроков?

Это было полезно?

Решение

Вы можете просто запустить множество процессов на одном компьютере..Вы можете использовать локальную сеть (127.0.0.1).Или вы можете использовать Виртуальные машины.

Другие советы

Вам нужно было бы запустить сервер на своем компьютере и запустить x копий кода проигрывателя.

Затем вы можете либо отладить сервер, либо одного из игроков.

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

Есть такие инструменты, которые вы можете получить, которые будут имитировать сетевую задержку и т.д., но обычно это будет стоить вам денег (как и этот), но там будет несколько бесплатных альтернатив.

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

Если вам просто нужно подтвердить, что ваша игра успешно подключается, я бы предпочел установить несколько виртуальных машин и перевести их все в NAT-режим, чтобы каждая из них получала уникальный IP-адрес от вашего DHCP-сервера.Если у вас действительно есть контроль над вашим маршрутизатором, вы могли бы даже выполнить дополнительный шаг настройки выделенного IP-адреса для MAC-адреса каждой виртуальной машины, чтобы вы могли регистрировать, какой IP-адрес вызывает у вас проблему, и соотносить его с какой машиной.Приложив немного усилий (и немного хакинтоша), вы могли бы даже расширить эту настройку для тестирования на основе операционной системы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top