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.
