赞
踩
在window和mac,甚至模拟器里都一切正常,就是在iPad机器上崩溃了。
libevent版本:2.0.11-stable
1. 在DNS解析时需要使用ARC4RANDOM算法生成transaction id,而ios自带的算法库有问题,会导致崩溃。还好,libevents提供了另一套替代的算法库,使用该算法库可以不崩溃。
Evutil_rand.c里,去掉_EVENT_HAVE_ARC4RANDOM定义
这时,arc4random_buf和arc4random_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");
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。