Apple要求所有应用必须支持IPv6 DNS64 / NAT64兼容性,并且我正在升级我们的应用程序以执行此操作。在大多数情况下,我们使用的是高级Unity API,所以这不是问题。
但是,在一个应用程序中,我们需要使用较低级别的System.Net.HttpWebRequest接口,以支持稍微复杂一点的PUT"操作,返回一些数据。
这证明是有问题的。当我们尝试HttpWebRequest.BeginGetRequestStream()时,我们在System.Net.HttpWebRequest.SetWriteStreamError中获取了NameResolutionFailure异常。我们在普通的IPv4网络上看不到这种例外。
这向我表明DNS失败了,因此我们如何使用HttpWebRequest出了问题。 HttpWebRequest是否与.Net版本Unity使用(.NET 2.0)不符合IPv6?我没有成功搜索文档。
此时我的下一步是开始编写套接字级代码以在此应用中支持IPv6,或者为iOS编写自定义插件。这些都不是我想要追求的途径,所以我希望其他人能提出更好的计划。