时间:2019-05-03 来源:小程序工厂
你好,我也在做这个功能,方便请教吗
wx.startLocalServiceDiscovery 表示开始搜索 mDNS 服务。wx.onLocalServiceFound 表示监听 mDNS 服务被发现的事件,当 mDNS 服务被发现后,通过该接口注册的回调函数才会执行。
所以你需要在当前手机所连的局域网内有一个 mDNS 服务。
这个mDNS的API有没有详细的示例代码可供参考?还是有点懵。。
mDNS 是一个用来做局域网设备发现的协议,每个设备会按照协议的约定,广播一个类似【服务名(一个字符串)-IP】的数据,其他设备可以根据自己想要的服务(一个字符串)来获取提供这个服务的设备的 IP。接下来就可以用网络通信接口与之通信,在微信小程序这里是 wx.request/wx.connectSocket。
所以如果想体验整个 mDNS + 局域网通信的流程,你需要在你手机所连的 wifi 下再接入一台设备。这个设备可以是一台手机/PC,在这个设备上需要运行一个程序,它发射 mDNS 服务,同时具备 HTTP/WebSocket 服务。这样微信小程序就可以用 wx.onLocalServiceFound 收到广播的 IP 之后,再用 wx.request/wx.conncetSocket 与之通信,接下来就向请求一个后台服务一样了。
这么一讲我懂了,真是非常感谢。有问题再请教了。。
代码片段https://developers.weixin.qq.com/s/dSadLKmG7P3j
你好,请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
代码片段https://developers.weixin.qq.com/s/dSadLKmG7P3j