我正在构建一个本地的Bonjour / Zeroconf库,并需要构建DNS查询记录以向其他机器广播。我尝试查看Erlang源代码,但由于我相对较新于Erlang,所以在所有inet_XXX.erl和.hrl文件的深处变得有些密集。我有一个用于接收和解析DNS记录负载的监听器,我只是无法弄清楚如何创建查询记录。我真正需要知道的是,我需要传递什么参数给inet_dns:encode(),以获取可以发送的二进制数据。这就是我想要做的。
{ok,P} = inet_dns:encode(#dns_query{domain="_daap._tcp.local",type=ptr,class=in})
这是我遇到的错误信息:
10> test:send().
** exception error: {badrecord,dns_rec}
in function inet_dns:encode/1
in call from test:send/0
11>