ios上libevent在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");            

 

 

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值