自从今年苹果强制新上架的APP 必须支持Ipv6,很多原来需要网络支持的APP 就没法上架了。
别的我们就不说了,先说说kbmmw 中,如何解决这个问题。
要测试你的app 是否支持ipv6, 首先要搭建IPv6 的测试环境,最简单的方法就是利用mac 来生成一个
共享的虚拟Ipv6 网络。具体搭建的方法参考此篇博文:
http://www.cocoachina.com/ios/20160525/16431.html
剩下的就是在你的APP 里面,是否可以通过这个网络访问远程服务器?如果没问题,就OK 了。
由于使用IPv6 访问远程服务器,那么就不能使用IPv4 的IP 地址访问服务器了,因此不管你的服务器运行在
什么环境下,请使用域名访问远程服务器!
Kbmmw 的的默认网络访问组件式indy.其实D10.1 带的Indy是支持IPv6 的。但是kbmmw 封装客户端Indy
时却没有考虑IPv6,导致了默认无法支持IPv6. 那么我们要解决的就是让TkbmMWTCPIPIndyClientTransport
支持IPv6.
我们来修改一下TkbmMWTCPIPIndyClientTransport 的父类及对应的函数。
当然还有其他一些对应部分的修改。
修改完后。kbmmw 客户端 就可以支持IOS 上通过Ipv6 访问了。
使用 IPv4 访问,表示无法连接
使用IPv6,正常访问
OK. 就是这么简单。
另外,多说两句:
1、使用httpsys 做为传输方式的同学,不用担心。
httpsys 可以不做任何修改就可以支持IOS 的IPv6 :)。
2、使用RTC 的同学,目前RTC 在IOS 的IPv6 暂时不行,作者准备
单独为IOS 实现IPv6.时间未定 。
时间: 2024-10-06 03:33:12