解决这个问题的思路就是先判断网络环境 然后根据网络环境执行不同的连接代码
Unity 5.3.x的上层API已经对ipv6支持了 例如WWW类 不需要改动任何代码 就能够支持ipv6
但是官方说一定要用域名
然后就是socket对ipv6的支持了
例如使用socket类来创建一个ipv4和ipv6的连接是不同的
socket = new Socket(AddressFamily.InterNetworkV6, SocketType.Stream, ProtocolType.Tcp);//V6
socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//V4
所以我们就需要一段代码来检测当前网络环境
IPAddress[] address=Dns.GetHostAddresses("www.stanwind.com"); // 用于解析域名的ip 这个API就是unity新版本对ipv6的支持
想知道当前网络环境是不是只有ipv6
直接拿出第一个地址 address[0].AddressFamily==AddressFamily.InterNetworkV6
来判断
如果是 就用ipv6的socket连接方式
否则用ipv4
然后执行 socket.Connect(address, 8001);
即可连接