Unity对ipv6的支持 (针对IOS上架要求)

解决这个问题的思路就是先判断网络环境 然后根据网络环境执行不同的连接代码
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);
即可连接
本文作者:StanWind
文章标题: Unity对ipv6的支持 (针对IOS上架要求)
本文地址:https://www.stanwind.com/post/45
版权声明:若无注明,本文皆为“Make it Better”原创,转载请保留文章出处。
本文地址:https://www.stanwind.com/post/45
版权声明:若无注明,本文皆为“Make it Better”原创,转载请保留文章出处。
相关文章
- Unity对ipv6的支持 (针对IOS上架要求)
- 了解3D渲染 揭开shader神秘面纱
- Unity移动方式总结
- Mac上获取keystore的 SHA1
- DoTween Demo
- C# 十六进制Hex处理类 Unity中Hex转换
- IOS接入ShareSDK出现'NSInvalidArgumentException', reason: '-[__NSArrayM enqueue:]: unrecognized selector
- Mac上如何多开unity
- Unity使用admob导出ios工程编译失败 use of '@import' when modules are disabled
- Unity Tcp通信