В настоящее время я изучаю основы сетей в Java.Я играл с отношениями сервера и клиента между двумя моими компьютерами.Однако я не могу понять, как распределенные программы (скажем, видеоигры) могут не только найти компьютер «хоста», но и номер порта, на котором работает сервер, чтобы создать сокет между двумя компьютерами.Единственный способ создания сокета, с которым я действительно сталкиваюсь, - это использовать уже известный IP-адрес и номер порта.
Как выполнить поиск в сети LAN другого компьютера (хоста) для поиска клиентов?
Как вы определяете, на каком порту находится сервер, не «пингуя» все доступные порты для ответа (что, как я понимаю, является плохим тоном ... Что-то про «атаку сервера» ...)?*
В такой ситуации, как видеоигра, в одной сети может быть любое количество компьютеров, и любое их число может пытаться разместить или иным образом запустить приложение.Мы будем благодарны за любую другую важную информацию или, возможно, ссылку на более подробное руководство, чем то, которое я использую, относительно создания соединений с очень малой информацией на стороне клиента.
Большое спасибо,
Jonathan