菜鸟教程小白 发表于 2022-12-13 16:38:29

ios - 如何在 iOS8 中处理纯 IPv6 网络的 IPv4 地址文字


                                            <p><p>我正在实现我的应用程序以兼容纯 IPv6 网络。
有什么方法可以处理 iOS8.x 中硬编码的 IPv4 地址文字(例如 172.1.2.3)?</p>

<p>根据 <a href="https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html" rel="noreferrer noopener nofollow">apple documentation</a> ,</p>

<p><em>- 在 iOS 9 及更高版本中,NSURLSession 和 CFNetwork 会在本地运行 DNS64/NAT64 网络的设备上自动从 IPv4 文字合成 IPv6 地址。</em></p>

<p><em>- iOS 9.2 中的 getaddrinfo() 添加了合成 IPv6 地址的功能。</em></p>

<p>但没有提及如何处理 <strong>iOS8.x</strong> 的地址文字。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>正确。在现代网络上使用旧 iOS 版本连接到旧服务的用户将遇到连接问题。最佳解决方案是:</p>

<ul>
<li>切勿在代码中使用硬编码地址

<ul>
<li>有很多很好的理由,只是不要硬编码地址并使用 DNS</li>
<li>如果您使用 DNS,则 NAT64 提供商将为您处理翻译</li>
</ul></li>
<li>确保您的服务器可通过 IPv4 和 IPv6 访问

<ul>
<li>这使您的服务的可达性更好</li>
<li>它使 NAT64 变得不必要,用户可以使用本地 IPv6 而无需任何黑客攻击</li>
</ul></li>
</ul>

<p>如果你想运行一个好的服务并写一个好的应用程序,上面两个都做。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何在 iOS8 中处理纯 IPv6 网络的 IPv4 地址文字,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/37409744/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/37409744/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何在 iOS8 中处理纯 IPv6 网络的 IPv4 地址文字