Основное понимание сетевых технологий - PullRequest
0 голосов
/ 27 мая 2020

ступая в незнакомые воды. В настоящее время я пишу игровой клиент в Unity / C# и игровой сервер в NodeJS. Я много гуглил, пытаясь получить ответы, но есть некоторые основы, которых я определенно не понимаю. Насколько я понимаю, здесь есть три соответствующих IP-адреса: мой внешний IP-адрес, 127.0.0.1 и 0.0.0.0. Я пробовал все их варианты для клиента и сервера (со здравым смыслом или без него), и единственная эффективная комбинация - 127.0.0.1 x 127.0.0.1. В конечном итоге я предполагаю, что сервер должен быть на 0.0.0.0, но в настоящее время ошибки Unity отсутствуют, потому что сокет уже используется сервером - я предполагаю, что это не будет проблемой с удаленным хостингом.

Мои вопросы:

  1. Можно ли разместить это на моем домашнем компьютере без перекрытия сокетов? Виртуальная машина?
  2. Почему 127.0.0.1 x 127.0.0.1 работает? Преобразует ли клиент его в другой локальный адрес под капотом? Я предполагаю, что оба они будут сокетами UDP / 127.0.0.1 / port.

Я хотел бы как можно скорее включить мультиплеер в эту игру. Спасибо!

1 Ответ

0 голосов
/ 27 мая 2020
  1. Да, возможно, с виртуальными хостами, виртуальными машинами. Если вы работаете в windows, взгляните на XAMPP или WAMPP, если вы в Ma c.

  2. Это немного больше:

127.0.0.1 - это локальный хост (в основном, вы сами), также известный как адрес обратной связи.

А 0.0.0.0 - немаршрутизируемый мета-адрес. В основном он служит для обозначения недопустимых целей, это как заполнитель для «неизвестных» адресов. Служит для обозначения недействительных целей не означает, что это недействительный адрес!

В вашем контексте, если вы используете 0.0.0.0 в качестве сервера, это означает «все адреса IPv4 на локальном компьютере». Если у хоста два IP-адреса, 192.168.1.1 и 10.1.2.1, и сервер, работающий на хосте, прослушивает 0.0.0.0, он будет доступен по обоим этим IP-адресам.

Это руководство от Тома Вейланда действительно помогает мне узнать об онлайн-программировании в Unity, проверьте: https://www.youtube.com/watch?v=uh8XaC0Y5MA

...