苹果审核不通过,程序/游戏不兼容IPV6网络
最近苹果升级的IOS10,所以那边网络环境变成IPV6,如果你的程序不兼容IPV6,苹果的程序会以这个不兼容的原因驳回审核。
那么如何让自己的程序兼容这个?方法其实C#本来已经提供给你的,而且很简单,(个人只懂C#,所以其他语言没研究过)不过前提就是服务器必须先申请域名,这个这里不作详解。
socket网络的知识这里也不说。不过我们修改的就是socket的API的某个字段,你没听错就是这样简单!
AddressFamily.InterNetwork
改成
AddressFamily.InterNetworkV6
就是这么简单 ,加上V6,不过我还是把完整的代码放上来,以便参考
protected string _url = "XXXX.com";
protected bool CreateSocket()
{
try
{
IPAddress[] address = Dns.GetHostAddresses(_url);//判断域名使用是ipv6还是ipv4
if (address.Length != 0)
{
_isIpv6 = address[0].AddressFamily == AddressFamily.InterNetworkV6;//这里作一个判定,为了后面接收服务器的IPV4是否转换IPV6 这里没需要转换的话可以不写,只是一个标志位
_socket = new Socket(address[0].AddressFamily, SocketType.Stream, ProtocolType.Tcp);
}
else
{
_socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
}
_socket.SetSocketOption(SocketOptionLevel.Socket,SocketOptionName.ReceiveTimeout,3000);
return true;
}
catch
{
this.OnSenderException();
return false;
}
}
然自己搭建IPV6环境自己测试!
浙公网安备 33010602011771号