Можно ли кодировать приложение, которое может обнаруживать и подключаться к одноранговым узлам без центрального сервера? Как? - PullRequest
4 голосов
/ 03 февраля 2011

Можно ли кодировать приложение, которое может обнаруживать и подключаться к одноранговым узлам без центрального сервера?Как?

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

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

  1. Вы определяете список идентификаторов, которым доверяете
  2. Приложение отображает все одноранговые узлы, которые имеют одно и то же приложение и имеют доверенный идентификатор
  3. Вы устанавливаете соединение, которое позволяет вам общаться и отправлять небольшие документы (исходный код, файлы odt и т. Д.) Без необходимости открывать порт в маршрутизаторе.

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

1 Ответ

0 голосов
/ 23 февраля 2015

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

  • Клиент (или peer) отправляет широковещательную рассылку в локальной сети, чтобы получить список доступные пэры.
  • Другие одноранговые интернет-участники будут отвечать на IP-адрес этой широковещательной передачи, как это: я равноправный ID: ххх, и мой IP-адрес 192.168.1.44, с порт прослушивания на 4567.
  • Теперь у пира есть список доступных подключенных пиров.

Конечно, вам нужно разработать протокол вещания, чтобы получить список доступных пиров. Простой широковещательный протокол может иметь следующие параметры: IP-адрес однорангового узла, который запрашивал доступные одноранговые узлы, чтобы другие отвечали на этот IP-адрес, номер порта широковещательного протокола. Доступные коллеги ответят этой информацией: IP-адрес, номер порта приложения чата. Теперь приложение чата может использовать эту информацию для связи с этими пирами. Это применимо к сетям ЛВС, но для идентификации пиров в Интернете я не нашел решения, не полагаясь на центральный сервер.

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

...