Bonjour-hap 是一个 nodejs 的插件,它是一个轻量级的 MDNS 协议的实现,可用于发现局域网内的服务。在 HomeKit 开发中,Bonjour-hap 也是一个重要的 npm 包,能够帮助开发者快速的构建 HomeKit 配件。
安装
使用 npm 进行安装:
npm install bonjour-hap
简介
Bonjour-hap 提供了如下功能:
- 发现局域网内的服务
- 监听服务注册和取消注册事件
- 解析服务中的信息和 TXT 记录
- 向局域网内广播服务
使用教程
引入 bonjour-hap
const Bonjour = require('bonjour-hap');
创建一个 Bonjour 实例
const bonjour = Bonjour();
监听服务注册和取消注册事件
bonjour.on('up', service => { console.log(`up: ${service.name} ${service.addresses}`); }); bonjour.on('down', service => { console.log(`down: ${service.name} ${service.addresses}`); });
广播服务
const service = bonjour.publish({ name: 'My HomeKit Accessory', type: 'hap', port: 5500 });
service
是一个服务实例,可以使用service.stop()
停止服务的广播。解析 service 中的信息和记录
bonjour.find({ type: 'hap' }, function(service) { console.log(`found: ${service.name} ${service.addresses}`); });
停止 bonjour 实例
bonjour.destroy();
实例代码:
-- -------------------- ---- ------- ----- ------- - ----------------------- ----- ------- - ---------- ----- ------- - ----------------- ----- --- ------- ----------- ----- ------ ----- ---- --- ---------------- ------- -- - ---------------- --------------- ----------------------- --- ------------------ ------- -- - ------------------ --------------- ----------------------- --- -------------- ----- ----- -- ----------------- - ------------------- --------------- ----------------------- --- ------------------
指导意义
Bonjour-hap 是一个非常重要的 npm 包,它为 HomeKit 配件开发提供了非常方便的局域网服务发现机制。在 HomeKit 配件开发中,需要使用 Bonjour-hap 来监听服务和解析 TXT 记录。
此外,Bonjour-hap 也可以用于其他需要局域网服务发现的场景,例如智能家居,智能音箱等设备的互相发现和控制。掌握 Bonjour-hap 的使用,对于前端开发人员来说更是必不可少的技能之一。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eeda9f6b5cbfe1ea06102f0