DNS异步解析


BaseLooper框架内置了一个DNS异步解析器DnsLooper

需要用到时,请用如下代码把DnsLooper加到MainLooper下面

       {

              auto looper = make_shared<DnsLooper>();

              AddChild(looper);

              looper->Start();

       }

DnsLooper也可在需要时自动创建

在需要做DNS解析时

enum

{

       BM_DNS_ACK = (BM_USER+ 1),

};

 

auto dnsLooper = dynamic_pointer_cast<DnsLooper>(mainLooper->FindObject("DnsLooper"));

dnsLooper->AddRequest(dnsName,shared_from_this(), BM_DNS_ACK);

 

在 long OnMessage(UINTmsg,WPARAMwp,LPARAMlp)中收到结果

       switch(msg)

       {

       caseBM_DNS_ACK:

       {

              CStringEx dns = (constchar*)wp;

              CStringEx ip = (constchar*)lp;

              DV("dnsAck,%s=[%s]",dns.c_str(), ip.c_str());

              return0;

       }

       }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值