ネイティブの 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>