/ bonjour

Реализация протокола Bonjour/Zeroconf на чистом JavaScript. Публикуйте службы в локальной сети или обнаруживайте существующие службы с помощью многоадресной передачи DNS.

Установка

  npm install bonjour  

Использование

 var bonjour = require ('bonjour') ()//реклама  HTTP-сервер на порту 3000bonjour.publish ({name: 'My Web Server', type: 'http', port: 3000})//поиск всех http servicesbonjour.find ({type: 'http'}, function (service  ) {console.log ('Найден HTTP-сервер:', service)}) 

API

Инициализация

 var bonjour = require ('bonjour') ([options]) 

Параметры являются необязательными и будут использоваться при инициализации основного сервера многоадресной передачи DNS. Подробнее см. Документацию multicast-dns.

Публикация

var service = bonjour.publish (options)

Публикует новую службу.

Возможны следующие варианты:

  • name (строка)
  • host (строка, необязательно) — по умолчанию используется локальное имя хоста
  • порт (число)
  • тип (строка)
  • подтипы (массив строк, необязательно)
  • protocol (строка, необязательно) — udp или tcp (по умолчанию)
  • txt (объект, необязательно) — объект ключ/значение для трансляции как TXTrecord

IANA поддерживает список официальных типов служб и номеров портов.

bonjour.unpublishAll ( [обратный вызов])

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

bonjour.destroy ()

Уничтожить экземпляр mdns. Закрывает сокет udp.

Браузер

var browser = bonjour.find (options [, onup])

Прослушивание услуг, рекламируемых в сети. Необязательный обратный вызов может быть предоставлен в качестве 2-го аргумента и будет добавлен как прослушиватель событий для события up .

Параметры (все необязательно):

  • тип (строка)
  • подтипы (массив строк)
  • протокол (строка) — по умолчанию tcp
  • txt (объект) — передается в конструктор dns-txtmodule. Установите значение {binary: true} , если вы хотите сохранить записи TXT в двоичном формате

var browser = bonjour.findOne (options [, callback])

Прослушивать и вызывать callback с первым экземпляром соответствие услуг параметрам . Если callback не задан, ожидается, что вы прослушаете событие up . Возвращенный браузер автоматически остановится после первой соответствующей службы.

Параметры такие же, как указано в browser.find функция.

Событие: up

Генерируется каждый раз, когда обнаруживается новая служба который соответствует браузеру.

Event: down

Генерируется каждый раз, когда существующая служба передает прощальное сообщение.

browser.services

Массив служб, известных чтобы браузер был в сети.

browser.start ()

Начните искать соответствующие службы.

browser.stop ()

Перестаньте искать соответствующие службы.

browser.update()

Передайте запрос еще раз.

Service

Событие: вверх

Излучается, когда служба запущена.

Событие: ошибка

Выдается, если ошибка возникает при публикации службы.

service.stop ([обратный вызов])

Отменить публикацию службы. Необязательный обратный вызов будет вызываться, когда услуга будет отменена.

service.start ()

Опубликуйте службу.

service.name

Название службы, например Apple TV .

service.type

Тип услуги, например http.

service.subtypes

Массив подтипов. Обратите внимание, что это свойство может быть null.

service.protocol

Протокол, используемый службой, например tcp.

service.host

Имя хоста или IP-адрес, на котором находится служба.

service.port

порт, который прослушивает служба, например 5000.

service.fqdn

Полное доменное имя службы. Например. если задано имя Foo Bar , тип http и протокол tcp , служба . fqdn будет иметь вид Foo Bar._http._tcp.local .

service .txt

Запись TXT, объявленная службой (объект типа «ключ-значение»). Обратите внимание, что это свойство может быть null.

service.published

Логическое значение, указывающее, опубликована ли служба в данный момент.

Лицензия

MIT

Оцените статью
Botgadget.ru
Добавить комментарий