KBMMW 中 IOS IPv6 的解决

时间:2023-03-09 00:13:54
KBMMW 中 IOS  IPv6 的解决

自从今年苹果强制新上架的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 的解决

KBMMW 中 IOS  IPv6 的解决

KBMMW 中 IOS  IPv6 的解决

KBMMW 中 IOS  IPv6 的解决

当然还有其他一些对应部分的修改。

修改完后。kbmmw 客户端 就可以支持IOS 上通过Ipv6 访问了。

使用 IPv4 访问,表示无法连接

KBMMW 中 IOS  IPv6 的解决
使用IPv6,正常访问
KBMMW 中 IOS  IPv6 的解决
OK. 就是这么简单。
另外,多说两句:
1、使用httpsys 做为传输方式的同学,不用担心。
httpsys 可以不做任何修改就可以支持IOS 的IPv6 :)。
2、使用RTC 的同学,目前RTC 在IOS 的IPv6 暂时不行,作者准备
单独为IOS 实现IPv6.时间未定 。