Тип сервиса для ZeroConf
В моем новом проекте я изучаю концепцию ZeroConf. Я очень новичок в этом, и я прочитал много статей об этом в сети и понял концепцию. Мой пример использования следующий: - В моем проекте у меня есть основанный на Linux шлюз с демоном Avahi в качестве провайдера Zero Conf. Я хочу сделать мой шлюз доступным для моих клиентов. Клиенты обнаружат шлюз и установят TCP-соединение со шлюзом. Для этого я должен опубликовать Сервис на моем шлюзе. Клиент будет искать эту услугу и разрешать ее, получив IP-адрес и порт. Как только клиент получил IP-адрес и порт-клиент может установить TCP-соединение с сервером. В настоящее время я использую Mono.ZeroConf для всей реализации. Теперь мой вопрос заключается в том, каким должен быть мой тип сервиса для этой услуги. Если я зарегистрирую свой сервис как
"_http._tcp 1234 EchoService", то он успешно зарегистрировал службу, и от клиента я могу просмотреть и решить ее. Также клиент может успешно подключиться к работающему в шлюзе TCP-серверу и установить связь.
Также я хочу знать, могу ли я создать свой собственный тип сервиса или нет.
Заранее спасибо.
1 ответ
Это зависит от протокола, который реализован вашим шлюзом. Тип сервиса ZeroConf говорит как " что " рекламируется, так и " как " использовать сервис, то есть какой протокол использовать с сервисом. Поэтому, если ваш шлюз реализует стандартный общеизвестный протокол, вы можете использовать один из общеизвестных типов услуг, которые вы можете найти здесь и здесь.
Например, если ваш шлюз является прокси-сервером SOCKS, вы должны объявить его как сервис _socks._tcp. Если ваш шлюз реализует собственный протокол, вы можете зарегистрировать новый тип сервиса. Если вы не хотите публично раскрывать название своего типа услуги, вы можете попросить IANA на некоторое время сохранить его в тайне. Однако вам не обязательно делать это. Вы можете просто использовать GUID-подобное имя сервиса, которое должно гарантировать уникальность.
Я рекомендую прочитать или хотя бы прочитать превосходную книгу о ZeroConf: Сеть с нулевой конфигурацией: полное руководство Стюарта Чешира и Дэниэла Х. Стейнберга. Кстати, Стюарт Чешир является одним из авторов ZeroConf.