我正在实现我的应用程序以兼容纯 IPv6 网络。
有什么方法可以处理 iOS8.x 中硬编码的 IPv4 地址文字(例如 172.1.2.3)?
根据 apple documentation ,
- 在 iOS 9 及更高版本中,NSURLSession 和 CFNetwork 会在本地运行 DNS64/NAT64 网络的设备上自动从 IPv4 文字合成 IPv6 地址。
- iOS 9.2 中的 getaddrinfo() 添加了合成 IPv6 地址的功能。
但没有提及如何处理 iOS8.x 的地址文字。
Best Answer-推荐答案 strong>
正确。在现代网络上使用旧 iOS 版本连接到旧服务的用户将遇到连接问题。最佳解决方案是:
- 切勿在代码中使用硬编码地址
- 有很多很好的理由,只是不要硬编码地址并使用 DNS
- 如果您使用 DNS,则 NAT64 提供商将为您处理翻译
- 确保您的服务器可通过 IPv4 和 IPv6 访问
- 这使您的服务的可达性更好
- 它使 NAT64 变得不必要,用户可以使用本地 IPv6 而无需任何黑客攻击
如果你想运行一个好的服务并写一个好的应用程序,上面两个都做。
关于ios - 如何在 iOS8 中处理纯 IPv6 网络的 IPv4 地址文字,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/37409744/
|