1
Dependents: internet_radio_leo
Fork of WIZnetInterface by
Diff: Socket/DNSClient.h
- Revision:
- 0:6f28332c466f
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Socket/DNSClient.h Mon Jun 15 11:18:37 2015 +0900 @@ -0,0 +1,35 @@ +// DNSClient.h 2013/4/5 +#pragma once + +#include "UDPSocket.h" + +class DNSClient { +public: + DNSClient(const char* hostname = NULL); + DNSClient(Endpoint* pHost); + virtual ~DNSClient(); + bool lookup(const char* hostname = NULL); + uint32_t ip; +protected: + void poll(); + void callback(); + int response(uint8_t buf[], int size); + int query(uint8_t buf[], int size, const char* hostname); + void resolve(const char* hostname); + uint8_t m_id[2]; + Timer m_interval; + int m_retry; + const char* m_hostname; +private: + enum MyNetDnsState + { + MYNETDNS_START, + MYNETDNS_PROCESSING, //Req has not completed + MYNETDNS_NOTFOUND, + MYNETDNS_ERROR, + MYNETDNS_OK + }; + MyNetDnsState m_state; + UDPSocket *m_udp; +}; +