Unity IPv6 Socket 支持

Unity IPv6  几点注意事项:

1.unity版本: 5.3.4 P4

2.服务器IP地址 需要通过  IOS原生代码 getaddrinfo 做转换

3.socket.LocalEndPoint  socket.RemoteEndPoint (IPv6环境  访问这两个变量会报异常,需要做特殊处理)

4.  第二个参数 一定要传 “http”  否则连接外网 会有异常

5.IOS9.2及以后的版本才支持IPv6(这个一定要注意

Apple如何审核支持IPV6-Only?

首先第一点:这里说的支持IPV6-Only网络,其实就是说让应用在 IPv6 DNS64/NAT64 网络环境下仍然能够正常运行。但是考虑到我们目前的实际网络环境仍然是IPV4网络,所以应用需要能够同时保证IPV4和IPV6环境下的可用性。从这点来说,苹果不会去扫描IPV4的专有API来拒绝审核通过,因为IPV4的API和IPV6的API调用都会同时存在于代码中。

其次第二点:Apple官方声明iOS9开始向IPV6支持过渡,在iOS9.2+支持IPV4地址合成IPV6地址。其提供的Reachability库在iOS8系统下,当从IPV4切换到IPV6网络,或者从IPV6网络切换到IPV4,是无法监控到网络状态的变化。也有一些开发者针对这些Bug询问Apple的审核部门,给予的答复是只需要在苹果最新的系统上保证IPV6的兼容性即可

最后第三点:只要应用的主流程支持IPV6,通过苹果审核即可。对于不支持IPV6的模块,考虑到我们现实IPV6网络的部署还需要一段时间,短时间内不会影响我们用户的使用。但随着4G网络IPV6的部署,这部分模块还是需要逐渐安排人力进行支持。

IOS IPv6   官方说明文档:https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html#//apple_ref/doc/uid/TP40010220-CH213-SW1

把源码给大家贴出来(代码写的比较乱,请大家多多包涵):

IOS代码  .h 文件

IOS代码 .m文件

Unity C#代码

你可能感兴趣的:(Unity3d)