我正在尝试使用 Expo 在 .jsx 页面中使用react-native-zeroconf 库。 每次进入页面时,我都需要它扫描同一网络上的每个设备,我这样做了:
useEffect(() => {
const zeroconf = new Zeroconf();
zeroconf.on('start', () => {
console.log("Scanning started");
});
zeroconf.on('resolved', (service) => {
console.log("Service found:", service);
setDevices((prevDevices) => [...prevDevices, service]);
});
zeroconf.on('error', (err) => {
console.error("Error during the scan:", err);
});
zeroconf.scan('_http._tcp.', 'local.');
return () => {
zeroconf.stop();
};
}, []);
显然,我每次都会遇到同样的错误,上面写着
扫描期间出错:错误:启动服务发现失败,代码:0
我也已经在 app.json 上设置了权限,如下所示:
"android": {
"permissions": [
"android.permission.ACCESS_WIFI_STATE",
"android.permission.ACCESS_NETWORK_STATE",
"android.permission.CHANGE_WIFI_MULTICAST_STATE",
"android.permission.CHANGE_WIFI_STATE",
"android.permission.INTERNET"
],
}
但无论我尝试什么,我都会不断收到该错误
所以,我只是一步一步地遵循本指南,现在它完美运行了