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上架要求)
- Mac上如何多开unity
- C# 十六进制Hex处理类 Unity中Hex转换
- Unity弱联网 HTTP post,get弱联网写法
- IOS、Unity接入微信登录出现不跳转 发送短信登录微信的情况
- DoTween Demo
- Mac上获取keystore的 SHA1
- IOS接入ShareSDK出现'NSInvalidArgumentException', reason: '-[__NSArrayM enqueue:]: unrecognized selector
- Unity Tcp通信
- 仿造Netty写的C#版ByteBuffer 用于unity