2014-09-11 4 views
-2

Я узнаю о сокетах и ​​клиент-серверных приложениях. Кажется, что рекомендуемый подход заключается в том, что сервер должен иметь фиксированный IP-адрес, чтобы клиент мог его найти. Это верно? Кажется, что должен быть какой-то метод запуска, при котором при инициализации программа на сервере (или клиенте) могла бы широко распространять свои IP-адреса на других компьютерах в сети, чтобы в случае, если IP-адрес сервера изменил клиентов все еще может найти его. Это возможно? Я считаю, что «многоадресная рассылка» может быть полезна, но кажется, что она не всегда поддерживается и/или маршрутизаторы/коммутаторы должны быть настроены так, чтобы принять это, или техника потерпит неудачу. Это верно? Я вижу, что есть способы, возможно, использовать UDP для трансляции на любой компьютер в сети, но мне не ясно, как компьютеры-получатели могут получить доступ к этому ясным образом без уже настроенного сокета - не было бы путаницы, если бы другие компьютеры уже транслируются на одном и том же порту? Это просто проблема протокола, чтобы программа могла распознавать принятые пакеты? Мне просто нужно узнать больше о сокетах? Любые предложения и указатели для того, где я мог бы выглядеть, будут очень благодарны. Большое спасибо заранее!Поиск IP-адресов серверов

ответ

1

Я узнаю о сокетах и ​​клиент-серверных приложениях. Кажется, , как если бы рекомендованный подход заключался в том, что сервер должен иметь фиксированный IP-адрес , чтобы клиент мог его найти. Это верно?

Да, это так.

Кажется, как будто там должно быть какой-то тип техники запуска, где на инициализации программы на сервере (или клиент) может вообще транслировать свои IP-адреса других компьютеров в сети, так что в случае изменения IP-адреса сервера клиенты все равно могут найти . Это возможно?

Да, это так.

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

Нет, многоадресная рассылка здесь не очень полезна, вы упомянули почему, и вам следует знать адрес многоадресной рассылки заранее.

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

Вы просто рекламируете своих клиентов время от времени, например каждые 5 секунд или каждые 1 мин, независимо от того, какой интервал вы находите в порядке. Если кто-то также отправляет на этот порт - тогда вы должны использовать какую-то уникальную структуру, магические числа и т. Д., Чтобы отличать один пакет от другого.

Это просто проблема с протоколом, чтобы программа могла распознать полученных пакетов?

Да, это так. В UDP.

Нужно ли мне больше узнать о сокетах?

Абсолютно да. Я предлагаю эту книгу: Unix Network programming, это хорошо, даже если вы используете среду, отличную от UNIX.

Смежные вопросы