苹果审核不通过,程序/游戏不兼容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环境自己测试!