логика: как искать в локальной сети пользовательский сервис - PullRequest
1 голос
/ 03 января 2012

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

Мое любопытство снова бросается в глаза после того, как я вижу, как работают медиасерверы.Мне интересно, какие существуют способы:

  1. (с клиента, будь то ПК, Android или iOS) отправлять какой-либо "пинг" по всей сети на порт назначения
  2. когда сервер / служба распознает этот пинг на определенном порту, он ответит клиенту и скажет «эй, я здесь!»
  3. клиент перечисляет серверы, которые ответили, и позволяетпользователю выбрать один

При использовании предложенного метода мне интересно, возможно ли:

  1. без сканирования портов из 192.168.0.1 -> 192.168.1.254 (чтоочень плохо на мой взгляд)
  2. какие-нибудь предостережения?такие как возможные ошибки безопасности или логические ошибки, которые могут быть использованы
  3. вызывают неоправданную нагрузку на сеть (даже если только 2 или 3 клиента ищут сеть один раз в день)
  4. (редактировать) В идеале,решение потребует минимального ввода от потенциально нетехнического пользователя (кроме нажатия «найти устройство» на клиенте), поэтому «оно просто работает»

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

Редактировать: Судя по некоторым дополнительным исследованиям, кажется, что uPNP - это то, что нужно.

1 Ответ

1 голос
/ 03 января 2012

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

...