Как я создаю запись запроса DNS в Erlang?

Я понял, что не передавал $objPage в page_properties () . Это хорошо работает теперь.

6
задан 16 November 2009 в 19:31
поделиться

3 ответа

Наконец-то я понял это.

send(Domain) ->
    {ok,S} = gen_udp:open(5555,[{reuseaddr,true}, {ip,{224,0,0,251}}, {multicast_ttl,4}, {multicast_loop,false}, {broadcast,true}, binary]),
    P = #dns_rec{header=#dns_header{},qdlist=[#dns_query{domain=Domain,type=ptr,class=in}]},
    gen_udp:send(S,{224,0,0,251},5353,inet_dns:encode(P)),
    gen_udp:close(S).
4
ответ дан 17 December 2019 в 02:30
поделиться

Как объяснил Магнус в списке рассылки вопросов Erlang:

http://groups.google.com/group/erlang-programming/browse_thread/thread/ce547dab981219df/47c3ca96b15092e0?show_docid= 47c3ca96b15092e0

вы передавали dns_query вместо записи dns_rec в функции encode / 1.

1
ответ дан 17 December 2019 в 02:30
поделиться

Тот факт, что для модуля inet_dns нет документации, должен заставить вас очень осторожно использовать его в своем коде. Я надеюсь, вы полностью осведомлены о том, что ваш проект не будет рассматриваться, если они (группа OTP) захотят изменить способ реализации и использования модуля.

Прочтите код для идей реализации или просто приступайте к созданию Сообщение протокола DNS с использованием битового синтаксиса Erlang на основе RFC протокола DNS. Создать пакет DNS намного проще, чем его анализировать (я сам шел по этому пути, и «хитрые уловки» для минимизации размера пакета вряд ли того стоят).

1
ответ дан 17 December 2019 в 02:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: