这个问题我足足研究了两天,才有了一点思路,现在我把我的心路历程写下来,给大家分享下23.

1.什么是ipv6,自己百度

2,它和ipv4的区别,也是没啥用自己搜

3.app怎么适配ipv6.

首先访问接口使用域名,而不是ip格式.

其次在app当中获取手机ip的时候不要使用网上搜的正则表达式,因为ipv6和v4 格式不一样,会报错,

最后网络访问框架最好用主流框架,不要修改底层网络接口配置,(如果你不是大神,你也不会改)

4.app怎么测试?

第一次尝试:

搭建ipv6热点,Windows搭建太复杂,没学会,只能用mac去搭建,但是搭建好的wifi

只能用iPhone链接测试,安卓不能用,原因安卓手机没有ipv6的dhcp不能自动获得ipv6的地址,所以这种思路到这里就结束了,

第二次尝试:

购买ipv6华为路由器,没钱,这种思路结束

第三次尝试:

偶然看见手机可以选择apn接入点,至于apn接入点怎么修改,你自己搜搜很容易

https://zhidao.baidu.com/question/537943311.html

里面有三个选项:

ipv4 ,  ipv6,    Ipv4和ipv6我反复测试,

测试手机访问使用的地址给大家提供下:http://ip4only.me/     http://ip6only.me和http://ip6.me/第一个网址只支持ipv4,第二个网址只支持ipv6访问,第三个是都支持

测试结果:

1.如果我修改的Ipv4接入点和漫游点::Ipv4only是v4地址. ipv6only是访问不到..都支持的是v4地址.

2.如果我修改的Ipv6接入点和漫游点::Ipv4only是v4地址. ipv6only是v6..都支持的是v6地址.

3..如果我修改的Ipv4Ipv6接入点和漫游点::Ipv4only是v4地址. ipv6only是v6..都支持的是v6地址.

4.如果我修改的Ipv4接入点和v6漫游点::Ipv4only是v4地址. ipv6only是v6..都支持的是v6地址.

5.如果我修改的Ipv4接入点和v4v6漫游点::Ipv4only是v4地址. ipv6only是v6..都支持的是v6地址.

6.如果我修改的Ipv6接入点和v4漫游点::Ipv4only是v4地址. ipv6onlyv6..都支持的是v6地址.

还有很多情况我就不一一列举了,反正这就告诉我们,这个方式不行,究竟谁负责啥,哪位大神可以跟我说下就好了,哎可惜我没查到到底在怎么配置,因为现在我们后台是ipv4only,所以我们无论怎么设置访问时候都是ipv4的地址,

那么到底有没有办法呢

有,设置你app的网络访问框架,仅仅支持ipv4或者ipv6或者啥都支持,

怎么弄呢?我是上代码大家自己看吧23

public class DnsSelector implements Dns {

public enum Mode {

SYSTEM,

IPV6_FIRST,

IPV4_FIRST,

IPV6_ONLY,

IPV4_ONLY

}

private Map> overrides = Maps.newHashMap();

private Mode mode;

public DnsSelector(Mode mode) {

this.mode = mode;

}

public static Dns byName(String ipMode) {

Mode selectedMode;

switch (ipMode) {

case "ipv6":

selectedMode = Mode.IPV6_FIRST;

break;

case "ipv4":

selectedMode = Mode.IPV4_FIRST;

break;

case "ipv6only":

selectedMode = Mode.IPV6_ONLY;

break;

case "ipv4only":

selectedMode = Mode.IPV4_ONLY;

break;

default:

selectedMode = Mode.SYSTEM;

break;

}

return new DnsSelector(selectedMode);

}

@SuppressLint("NewApi")

@Override

public Listlookup(String hostname) throws UnknownHostException {

Listaddresses = overrides.get(hostname.toLowerCase());

if (addresses != null) {

return addresses;

}

addresses = Dns.SYSTEM.lookup(hostname);

switch (mode) {

case IPV6_FIRST:

addresses.sort(Comparator.comparing(Inet4Address.class::isInstance));

break;

case IPV4_FIRST:

addresses.sort(Comparator.comparing(Inet4Address.class::isInstance).reversed());

break;

case IPV6_ONLY:

addresses = addresses.stream().filter(Inet6Address.class::isInstance).collect(toList());

break;

case IPV4_ONLY:

addresses = addresses.stream().filter(Inet4Address.class::isInstance).collect(toList());

break;

}

return addresses;

}

public void addOverride(String hostname, InetAddress address) {

overrides.put(hostname.toLowerCase(), Lists.newArrayList(address));

}

}

okhttp初始化的时候,传入标记位即可,实现想要的网络访问模式.

okHttpClient = new OkHttpClient.Builder()

.eventListenerFactory(NetWorkEventListener.FACTORY)

.dns(new DnsSelector(IP_SELECTOR_MODE))

.build();

如果您有更好的办法,请告我我,感激不尽08

就是搭建一个安卓可以用的wifi热点而已,

android ipv6测试,android ipv6网络下测试app运行状态测试相关推荐

  1. linux udp 端口测试,RAKsmart:Linux下TCP/UDP 端口测试及验证方法说明

    RAKsmart:Linux下TCP/UDP 端口测试及验证方法说明2020-06-11 在 Linux 系统中,有时需要在系统中测试端口的连通性,以便确认系统的TCP.UDP协议栈是否可以正常运行. ...

  2. windows测试linux带宽,linux下使用命令行测试网速 speedtest-cli,Linux带宽测试

    Speedtest.net提供了一个命令行工具 speedtest-cli 我们可以在Linux中使用speedtest-cli来测试宽带速度 speedtest-cli是由Python编写的轻量级L ...

  3. 通过adb打开Android系统中data文件夹下的app,database的的文件

    网上有太多的办法,看的眼花扰乱, 如果你的情况和我是类似的那么久这么做 首先测试机是小米4,系统是MUIU8 7.4.24开发版的,Android6.0.1 小米的手机这点好,在安全管理中就可以roo ...

  4. python ui测试_uiautomator2 使用Python测试 Android应用

    uiautomator2 是一个可以使用Python对Android设备进行UI自动化的库.其底层基于Google uiautomator,Google提供的uiautomator库可以获取屏幕上任意 ...

  5. uiautomator2 使用Python测试 Android应用

    GitHub地址:https://github.com/openatx/uiautomator2 介绍 uiautomator2 是一个可以使用Python对Android设备进行UI自动化的库.其底 ...

  6. [原创]浅谈移动互联网App兼容性测试

    [原创]浅谈移动互联网App兼容性测试 今天要谈的话题,估计各位测试都有感受,移动互联网App兼容性测试,我们到底测试覆盖如何去挑选机型?具体移动App兼容性测试如何开展?是不是应引进像testin这 ...

  7. APP专项测试-弱网测试

    在当今移动互联网盛行的时代,网络的形态除了有线连接,还有2G/3G/4G/5G/WiFi等多种手机网络连接方式.不同的协议.不同的制式.不同的速率,使移动应用运行的场景更加丰富.目前移动端产品的使用用 ...

  8. 第九章 APP项目测试(1)

    9.2 APP测试流程 APP的整个研发周期一般在2~3个月左右,具体根据产品复杂度来确定,测试周期一般是1~3周左右,要求测试工程师熟悉APP的整个测试的流程和方法,APP的测试流程如下: 1.计划 ...

  9. app稳定性测试教程——全网最全(测试木头人)

    超详细测试流程及分析 --没有之一 App稳定性测试简介 App的性能测试主要有响应.内存.cpu.FPS.GPU过度渲染.耗电.耗流七个指标,app除了这些性能测试,还有:手机版本号兼容性,屏幕分辨 ...

最新文章

  1. ubuntu系统安装mysql二进制压缩包(tar.gz)以及navicat远程连接服务器(linux系统)
  2. jquery的attr和prop区别之实例
  3. mysql中的钱null,mysql 中null总结
  4. Java修饰符:public,protected,private,不加修饰符的区别
  5. mysql颠覆实战笔记(五)--商品系统设计(二):定时更新商品总点击量
  6. python判断linux中文件是否存在_linux shell 中判断文件、目录是否存在的方法
  7. 海龟绘图两小时上手C语言 - 2 绘制正方形
  8. 使用 kubeadm 创建 kubernetes 1.9 集群
  9. 什么叫做支路_家庭电路用什么开关?不同的开关有什么用?主开关用漏保更好吗?...
  10. 对象 'dbo.xxx' 不存在,或对此操作无效。为表创建触发器,为什么提示对象不存在?
  11. 历届电大计算机网考试题及答案,电大2012年计算机应用基础网考统考试题及答案...
  12. cactiez mysql_cactiez v11添加对mysql数据库、apache系统进行监控
  13. nodejs通过later实现定时执行任务
  14. fckeditor for php 下载,FCKeditor(HTML在线编辑器)下载_FCKeditor(HTML在线编辑器)官方下载-太平洋下载中心...
  15. python nltk 8 分析句子结构
  16. 关于Android Studio单元测试中“Method d in android.util.Log not mocked.”问题的解决。
  17. Fisher线性判别
  18. html h5 php 语音录入,html5在输入框添加语音输入功能
  19. 整理任正非思想:要建立一个均衡的平台-1995
  20. Directx11教程七之2D渲染

热门文章

  1. 虚拟机linux mobaxterm,远程终端神器:MobaXterm
  2. Cuda异步计算并行编程设计和优化
  3. java中 类是最顶层的类,Java中的()类是最顶层的类,所有其他的类都是它直接或间接的子类。...
  4. java实现第七届蓝桥杯打印数字
  5. 短视频热点实时分享|想上热门你不能不知道的事
  6. PyTorch 1.0 正式版发布了!
  7. 如何更改图片分辨率?在线修改分辨率的方法分享
  8. 双路主板能不能上两个不同型号的CPU?
  9. 20190607 —html和操作系统
  10. 用Python还原对方已经撤回的消息