CFStream类是否符合IPV6标准?我使用CFStreamCreatePairWithSocketToHost连接到套接字而不是低级套接字api

时间:2016-05-31 08:33:11

标签: ios objective-c iphone networking ipv6

CFStream类符合IPV6吗?我使用CFStreamCreatePairWithSocketToHost连接到套接字而不是低级套接字api的

CFStreamCreatePairWithSocketToHost api属于CoreFoundation,我在Apple文档中没有看到“支持IPv6 DNS64 / NAT64网络”中的任何部分,其中说这个特定的api符合IPv6标准。

Apple表示要使用高级框架,例如

WebKit的。该框架提供了一组用于在Windows中显示Web内容的类,并实现了浏览器功能,例如以下链接,管理后退列表以及管理最近访问过的页面的历史记录。 WebKit简化了加载网页的复杂过程 - 即,从HTTP服务器异步请求Web内容,其中响应可能以递增方式,随机顺序或部分由于网络错误而到达。有关更多信息,请参阅WebKit框架参考。

Cocoa URL加载系统。该系统是通过网络发送和接收数据的最简单方法,无需提供明确的IP地址。使用NSURL对象中的一个类(如NSURLSession,NSURLRequest和NSURLConnection)之一发送和接收数据。 NSURL对象允许您的应用操纵URL及其引用的资源。通过调用initWithString:方法并向其传递URL说明符来创建NSURL对象。调用NSURL类的checkResourceIsReachableAndReturnError:方法来检查主机的可访问性。有关更多信息,请参阅URL会话编程指南。

CFNetwork的。此核心服务框架提供了一个网络协议抽象库,可以轻松执行各种网络任务,例如使用BSD套接字,解析DNS主机以及使用HTTP / HTTPS。要在没有显式IP地址的情况下定位主机,请调用CFHostCreateWithName方法。要打开一对主机的TCP套接字,请调用CFStreamCreatePairWithSocketToCFHost方法。有关更多信息,请参阅CFNetwork编程指南中的CFNetwork概念。

1 个答案:

答案 0 :(得分:1)

首先,所有内置网络API都是“IPv6兼容的”,因为您可以与它们建立IPv6连接。例如,您可以使用低级套接字API创建IPv6套接字。

我认为您的问题是,您是否可以使用CFStreamCreatePairWithSocketToHost()连接到仅IPv6网络上的IPv4地址文字。答案是,它适用于iOS 9.2 +。