gpt4 book ai didi

node.js - 树莓派 mdns getaddrinfo 3008 错误

转载 作者:IT老高 更新时间:2023-10-28 23:21:09 29 4
gpt4 key购买 nike

我有这个示例 Node.js 脚本:

var mdns = require('mdns');

var browser = mdns.createBrowser(mdns.tcp('http'));
browser.on('error', function (error) {
console.log("error");
console.log(error);
});
browser.on('serviceUp', function (service) {
console.log("serviceUp");
console.log(service);
});
browser.start();

在我的 Mac 上它运行良好,并且找到了两个服务。如果我在运行 Raspbean(连接到同一网络)的 Raspberry PI 2 上运行完全相同的脚本,我会得到以下输出:

pi@raspberrypi ~ $ node mdns.js 
*** WARNING *** The program 'node' uses the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node>
*** WARNING *** The program 'node' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node&f=DNSServiceRegister>
error
{ [Error: getaddrinfo -3008] code: -3008, errno: -3008, syscall: 'getaddrinfo' }
error
{ [Error: getaddrinfo -3008] code: -3008, errno: -3008, syscall: 'getaddrinfo' }

一个 issue on the mdns GitHub , 表示忽略警告是公平的。

但是这两个错误呢?这是我的 Raspberry PI 上的某种配置问题吗?

最佳答案

在本地修改 Node 模块代码是一种不好的做法。

在创建 mdns 浏览器时最好做到以下几点:

var sequence = [
mdns.rst.DNSServiceResolve(),
'DNSServiceGetAddrInfo' in mdns.dns_sd ? mdns.rst.DNSServiceGetAddrInfo() : mdns.rst.getaddrinfo({families:[4]}),
mdns.rst.makeAddressesUnique()
];
var browser = mdns.createBrowser(mdns.tcp('http'), {resolverSequence: sequence});

就像这条评论中所说的:https://github.com/agnat/node_mdns/issues/130#issuecomment-120731155

因此,它将避免错误并允许从事该项目的每个人都获得相同的版本,而不必修改本地 mdns 代码。

关于node.js - 树莓派 mdns getaddrinfo 3008 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29589543/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com