aardio 文档

wsock.udp.mdnsClient 库模块帮助文档

常用服务类型名

可用于 wsock.udp.mdnsClient 对象 discover 方法参数的一些常用服务名称:

"_services._dns-sd._udp.local";
"_http._tcp.local";
"_https._tcp.local";
"_airplay._tcp.local";
"_googlecast._tcp.local";
"_hap._tcp.local";
"_ipp._tcp.local";
"_smb._tcp.local";
"_ssh._tcp.local";
"_ftp._tcp.local";
"_sftp-ssh._tcp.local";
"_rdp._tcp.local";
"_rfb._tcp.local";
"_mqtt._tcp.local";
"_adb-tls-connect._tcp.local";
"_adb-tls-pairing._tcp.local";

wsock.udp 成员列表 #

wsock.udp.mdnsClient #

mDNS 客户端,用于局域网零配置设备发现
使用多播地址 224.0.0.251 端口 5353

wsock.udp.mdnsClient() #

创建 mDNS 客户端
可选参数指定本地网卡 IP

返回对象:wsockUdpMdnsClientObject

wsockUdpMdnsClientObject 成员列表 #

wsockUdpMdnsClientObject.clearCache() #

清空服务和主机缓存。
应调用此函数清除连接失败或断线的服务。

wsockUdpMdnsClientObject.close() #

关闭客户端

wsockUdpMdnsClientObject.discover(serviceType) #

发现指定参数 @serviceType 指定类型的服务。
参数可指定 "_http","_http._tcp" 或 "_adb-tls-connect._tcp" 等类型名称。
如果参数指定不包含 . 符号的名称,则会自动添加 ._tcp.local 后缀。
如果参数指定的名称尾部没有 .local 则会自动添加。

wsockUdpMdnsClientObject.discoverAll() #

发现所有可用服务类型

wsockUdpMdnsClientObject.getServiceByName(instanceName) #

按实例名获取服务信息

wsockUdpMdnsClientObject.getServices(serviceType) #

获取已解析完成的服务列表
可选按服务类型过滤
返回包含 ip,port,instanceName 等字段的数组

wsockUdpMdnsClientObject.hosts #

已发现的主机缓存(按主机名索引)

wsockUdpMdnsClientObject.query(serviceName,qtype) #

发送 mDNS 查询
@serviceName 服务名称
@qtype 查询类型:1=A, 12=PTR, 16=TXT, 28=AAAA, 33=SRV

wsockUdpMdnsClientObject.resolveHost(hostname) #

解析主机名的 A 记录

wsockUdpMdnsClientObject.services #

已发现的服务缓存(按实例名索引)

wsockUdpMdnsClientObject.setInterval(回调函数,延时毫秒数) #

设置定时器

wsockUdpMdnsClientObject.socket #

UDP 异步套接字对象

返回对象:udpAsyncClientObject

wsockUdpMdnsClientObject 事件列表 #

wsockUdpMdnsClientObject.onError(err) #

wsockUdpMdnsClientObject.onError = function(err){  
    /*错误处理*/  
}

wsockUdpMdnsClientObject.onResponse(info) #

wsockUdpMdnsClientObject.onResponse = function(info){  
    /*收到原始响应*/  
}

wsockUdpMdnsClientObject.onServiceRemoved(service) #

wsockUdpMdnsClientObject.onServiceRemoved = function(service){  
    console.log("服务下线:", service.name, service.ip);/*服务下线告别包回调*/  
}

wsockUdpMdnsClientObject.onServiceResolved(service) #

wsockUdpMdnsClientObject.onServiceResolved = function(service){  
    console.log(service.name, service.host, service.ip, service.port);/*发现服务。service 字段说明:  
- name 字段为短实例名,instanceName 为完整实例名。  
- host 为目标主机名,ip,ipv6 分别为目标主机解析到的 IPv4,IPv6 地址。  
- port 为目标主机服务端口。*/  
    console.dump(service.txtMap);  
}

Markdown 格式