gethostbyname在bonjour中起作用,但在avahi中不起作用

时间:2018-07-13 09:29:33

标签: linux bonjour zeroconf gethostbyname avahi

我正在完成在嵌入式Linux 3.14中从bonjour切换到avahi的过程。一切正常,除了gethostbyname()的问题。

Mdns通告的设备可以通过各种avahi实用程序(avahi-browse,resolve等)和dns_sd回调(我安装了avahi的libdns_sd_compat库)来解析,除了mdns通告的设备的IP地址(some_device.local)。 / p>

为了测试gethostbyname(),我使用代码gethostbyname in C

代码:

#include <stdio.h>
#include <netdb.h>

int main (int argc, char *argv[])
{
    struct hostent *hstnm;
    if (argc != 2) {
        fprintf(stderr, "usage: %s hostname\n", argv[0]);
        return 1;
    }
    hstnm = gethostbyname (argv[1]);
    if (!hstnm)
        return 1;
    printf ("Name: %s\n", hstnm->h_name);
    return 0;
}

当我切换回bonjour时,该函数返回一个适当的结构(可以从中提取IP地址),而在avahi中,它始终返回NULL。 我可能会错过配置文件和/或库文件中的某些条目。有人知道他们是什么吗?

谢谢

0 个答案:

没有答案