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