DNSRequest - DNSリクエスト
DNSRequest - DNSリクエスト
ネームサーバへ問い合わせし、ホスト名からIPアドレスの情報を得ます。
EthernetNetIf をインポートして使用する。
初期化
DNSRequest name;
name:任意の名前
正引きリクエスト
ret = name.resolv(fqdn);
fqdn:ホスト名 (char *)
ret:エラーコード (DNSRequestErr)
ret = name.resolv(host);
host:ホスト名 (Host *)
ret:エラーコード (DNSRequestErr)
結果取得
resolv で char * を渡した場合。(Host * を渡した場合は Host.setIp() される)
ret = name.getResult(addr);
addr:IPアドレス (char *)
ret:エラーコード (IpAddr *)
割り込みの設定
name.setOnReply(pfnc)
pfnc:ポインタ (void (*pMethod)(DNSReply))
例
DNSルックアップ
#include "mbed.h" #include "EtnernetNetIf.h" #include "DNSRequest.h" EtnernetNetIf eth; DNSRequest dns; void onDNSRequestReply (DNSReply r) { if (r == DNS_FOUND) { printf("Resolved %d.%d.%d.%d\r\n", (unsigned char)host->getIp()[0], (unsigned char)host->getIp()[1], (unsigned char)host->getIp()[2], (unsigned char)host->getIp()[3]); } } int main () { Host host(IpAddr(0,0,0,0), 0, "mbed.org"); if (eth.setup()) { return -1; } dns.setOnReply(&onDNSRequestReply); dns.resolve(host); while () { Net::poll(); } }
Please log in to post comments.