Я пытаюсь разработать протокол P2P, в котором несколько пользовательских приложений в жилой сети могут обнаруживать друг друга. Я рассмотрел различные протоколы обнаружения служб, в частности DNS-SD с mDNS. Похоже, что он отлично работает для одного клиента, обнаруживающего несколько устройств, а также для одного устройства, предлагающего несколько разных служб, которые были настроены как таковые.
Однако, насколько я понимаю, существует не более одного клиента (который отправляет запросы и кеширует результаты) на хост, и не более одного респондента (который отвечает на запросы) на хост. Так что, если у меня несколько приложений, запущенных на одном компьютере, им нужно будет совместно использовать клиент / респондент - что, по-видимому, создает проблемы, особенно в Windows, которая изначально не предлагает такую услугу. Правильно ли это толкование?
Или было бы возможно, чтобы каждое приложение выполняло свой собственный клиент и распознаватель, независимый от других приложений, без конфликтов?
Если ответ «нет», какие могут быть альтернативы?