当前位置:   article > 正文

ios上libevent在dns解析时崩溃的解决

ios dns 卡死

 

在window和mac,甚至模拟器里都一切正常,就是在iPad机器上崩溃了。

 

libevent版本:2.0.11-stable

 

 

1.       DNS解析时需要使用ARC4RANDOM算法生成transaction id,而ios自带的算法库有问题,会导致崩溃。还好,libevents提供了另一套替代的算法库,使用该算法库可以不崩溃。

Evutil_rand.c里,去掉_EVENT_HAVE_ARC4RANDOM定义

这时,arc4random_bufarc4random_addrandom与系统提供的实现命名冲突,修改一个名字即可,同时修改arc4random.c文件。

2.       Ipad上读取DNS配置有问题,所以不能读取系统配置,而要单独设置域名解析服务器,比如Google的域名解析服务器8.8.8.8


_dns_base = evdns_base_new(_base, 0);

evdns_base_nameserver_ip_add(_dns_base, "8.8.8.8");            

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/742806
推荐阅读
相关标签
  

闽ICP备14008679号