`
optman
  • 浏览: 44638 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

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");            

 

 

分享到:
评论
1 楼 yingsun_xuebao 2013-03-31  
在ios上设置dns需要什么设置吗.....我的邮箱,850551720@qq.com,,,,,急。。。。谢谢。。。。

相关推荐

    libevent源码深度解析

    libevent源码深度解析

    iOS_libevent

    libevent是一个开源的事件通知库,它为C语言编程提供了一种机制,可以在多个事件源上等待事件的发生。这个库特别适用于网络编程,如HTTP服务器、TCP和UDP服务器,以及处理定时任务。在iOS开发中,libevent可以帮助...

    IOS需要的libevent库 i386 armv7 x86_64 arm64 可以使用

    libevent是一个开源的事件通知库,它允许程序员在多个事件源上注册回调函数,当这些事件源就绪时,libevent会自动调用对应的回调函数。这个库在跨平台的网络编程中非常常用,特别是在处理高并发的服务器应用中。在...

    libevent_iOS 静态库文件

    在iOS平台上,开发人员经常使用Libevent来处理异步I/O操作,如套接字通信,因为它的高效性和灵活性。在这个“libevent_iOS 静态库文件”中,我们聚焦于如何在iOS应用中集成并利用这个库,特别是与OpenSSL的兼容性,...

    libevent-2.0.22-stable for iOS 包含静态库

    3. **多线程支持**:在iOS上,libevent可以通过多线程来处理并发事件,进一步提升性能。 4. **SSL/TLS支持**:本资源集成了openssl,意味着libevent可以处理加密的网络通信,这对于需要安全传输数据的应用至关重要...

    libevent-2.1.8-stable for iOS 包含静态库与编译脚本,支持OpenSSL,包含openssl-1.1.1 for ios静态库

    源码编译,包含libevent-2.1.8-stable for iOS 静态库与编译脚本,支持OpenSSL,包含openssl-1.1.1 for ios静态库与编译脚本,支持平台:arm64\armv7\armv7s\i386

    libevent 参考手册中文版及源码解析

    8. **实际应用**:libevent常用于构建网络服务器,如HTTP服务器、DNS解析服务器等,了解如何在实际项目中应用libevent是学习的重要环节。 9. **错误处理**:理解和处理libevent在运行过程中可能出现的错误,如文件...

    libevent ios编译脚本

    libevent 在ios交叉编译脚本,支持IOS各种架构(包含MACOS)

    Libevent源码解析.pdf

    Libevent 源码解析 Libevent 是一个高性能的事件驱动库,广泛应用于网络编程和高性能服务器开发中。下面是对 Libevent 源码的深入剖析,涵盖了其架构设计、事件处理机制、Reactor 模式、事件循环、IO multiplexing...

    libevent 2.0.13

    解决方案文件包含了所有必要的项目设置,包括编译选项、链接器设置和库依赖关系,使得开发者能够在Windows平台上顺利地编译libevent 2.0.13源代码。 **四、项目文件说明** `项目文件说明.txt`很可能是关于如何使用...

    【最新】C++ 使用libEvent实现http的post, get功能

    当请求完成时,libEvent会调用这个函数。 5. **发起请求**:使用`http_client_request`函数发起请求。这个函数会将请求添加到事件循环中,等待服务器响应。 6. **处理响应**:在回调函数中,我们需要解析HTTP响应...

    libevent 多线程 HTTP post服务器

    核心概念是事件基础,它监控文件描述符、信号、定时器等,当有事件发生时,libevent会通知回调函数进行处理。 2. **HTTP POST**:HTTP协议中的一种请求方法,用于向服务器发送数据,如表单提交、文件上传等。POST...

    libevent中文参考手册

    6. **evdns**:提供了基本的DNS查询功能,便于开发者在程序中集成DNS解析。 7. **evrpc**:一个简易的远程过程调用(RPC)框架,简化了远程服务调用的实现过程。 #### 三、库安装与使用 **libevent**在默认情况下...

    libevent参考手册中文版_libevent-2.1.5.pdf

    在版本状态方面,需要注意的是,不同版本的libevent可能在某些API上存在差异,因此,在使用时需要确保程序与所使用的libevent版本兼容。 手册接着描述了如何设置libevent。在这一部分,会讲解如何处理libevent中的...

    在X86上libevent的简单使用.docx

    - 如果需要将`libevent`移植到ARM平台,则需要在`./configure`时指定相应的交叉编译器。 ### 使用libevent开发实例 #### 示例代码解析 下面是一个简单的`libevent`使用示例,展示如何利用`libevent`实现一个每隔...

    libevent-2.0.22-stable在windows环境下使用mingw编译

    在Windows上编译libevent时,你需要先安装MinGW,确保包含了C++编译器和支持库。然后,配置编译环境,设置好PATH变量,以便编译器能找到所需的头文件和库。 **编译步骤** 1. **下载与解压**:首先,从官方或镜像...

    libevent(2.1.8)库及头文件文件

    7. **跨平台兼容性**:Libevent的一个重要优势就是其跨平台能力,可以用于Windows、Linux、Mac OS X等多种操作系统,并且在不同平台上都能保持一致的API和行为。 **文件名称列表解析** 压缩包内的文件名"libevent-...

    libevent2.1.7在Linux安装过程

    在C环境中使用libevent库,需要在Gcc编译时增加库链接的参数,例如: ``` -L/usr/local/lib/ -levent ``` libevent2.1.7在Linux安装过程需要遵循特定的步骤,包括解压缩源代码包、执行autoreconf命令、编译和安装...

    libevent 中文文档.doc

    libevent 在安装时,默认创建三个库:libevent_core、libevent_extra 和 libevent。libevent_core 包含核心事件和缓冲功能,libevent_extra 包含协议特定功能,如HTTP、DNS和RPC,而libevent 是这两个库的组合,但...

Global site tag (gtag.js) - Google Analytics