Создание сервисов Bonjour для Finder - PullRequest
4 голосов
/ 20 июня 2010

Я немного поиграюсь с Bonjour, и для создания прототипов я использую библиотеку Pybonjour, которая в моих первых испытаниях выглядела как шарм.Однако, когда я пытаюсь создать службу, видимую в Finder, у меня не получается.Я использовал эту страницу в качестве справочника для идентификаторов услуг для использования.В документе указывается, какие службы доступны для просмотра в Finder.

Я попытался _afpovertcp._tcp, и он сразу появился в Finder.Два более интересных (_webdav._tcp, _ftp._tcp), однако, нет.Я пропускаю какой-то обязательный компонент или это ошибка конфигурации (например, встроенный брандмауэр включен по умолчанию?).Я использую Snow Leopard 10.6.3 для теста.

Я также попробовал серверную часть на машине с Ubuntu с точно таким же результатом.Кроме того, я заметил, что Terminal.app обнаруживает FTP-сервер (как на сервере Ubuntu, так и на сервере OSX).

РЕДАКТИРОВАТЬ: обновление: SMB (_smp._tcp) работает, то же поведение, что и AFP.

Я вижу эти возможности:

  • Для Finder требуется нечто большее, чем просто служебная строка
  • Обнаружение служб FTP и WebDAV отключено по умолчанию и его необходимо как-то включить
  • Обнаружено удаление FTP и WebDAV в снежном барсе (будем надеяться, что нет!)

Ответы [ 2 ]

1 голос
/ 07 апреля 2012

Некоторое время назад я проверял это и обнаружил, что некоторые службы Bonjour больше не доступны (?) В Snow Leopard и Lion. Я не смог найти соответствующую документацию по этому поводу, но я предоставляю свой результат в качестве помощи тем, кто искал то же самое.

0 голосов
/ 25 июня 2010

Вместо использования Finder, попробуйте Bonjour Browser http://www.tildesoft.com/Programs.html. Это утилита для обнаружения всех услуг с Bonjour. Также полезна утилита командной строки dns-sd, которая может использоваться для имитации служб публикации, которые может обнаружить Bonjour. Команда

dns-sd -R "Служба тестирования принтера" _printer._tcp "" 666

имитирует службу печати, которую обнаружит Bonjour. Поменяйте местами _printer._tcp с любым из типов сервисов, чтобы имитировать их.

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

Надеюсь, это поможет.

...