Ich baue eine native Bonjour/Zeroconf-Bibliothek und muss DNS-Abfragedatensätze erstellen, um sie an die anderen Computer zu übertragen. Ich habe versucht, durch den Erlang-Quellcode zu suchen, aber da ich relativ neu in Erlang bin, wird es ziemlich dicht in den Eingeweiden aller inet_XXX.erl- und .hrl-Dateien. Ich habe einen Listener, der für das Empfangen und Analysieren der DNS-Datensatznutzlasten arbeitet, ich kann einfach nicht herausfinden, wie die Abfragedatensätze erstellt werden. Was ich wirklich wissen muss, ist, was ich in inet_dns übergeben muss: encode(), um eine Binärdatei zu erhalten, die ich aussenden kann. Hier ist, was ich versuche zu tun.Wie erstelle ich einen DNS-Abfrage-Datensatz in Erlang?
{ok,P} = inet_dns:encode(#dns_query{domain="_daap._tcp.local",type=ptr,class=in})
hier ist der Fehler, den ich
10> test:send().
** exception error: {badrecord,dns_rec}
in function inet_dns:encode/1
in call from test:send/0
11>
Sie sollten dies im Kontext von mehr als 20 Jahren projizieren, wo Bits viel teurer waren als heute. – jldupont