android ipv6测试,android ipv6网络下测试app运行状态测试
这个问题我足足研究了两天,才有了一点思路,现在我把我的心路历程写下来,给大家分享下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运行状态测试相关推荐
- linux udp 端口测试,RAKsmart:Linux下TCP/UDP 端口测试及验证方法说明
RAKsmart:Linux下TCP/UDP 端口测试及验证方法说明2020-06-11 在 Linux 系统中,有时需要在系统中测试端口的连通性,以便确认系统的TCP.UDP协议栈是否可以正常运行. ...
- windows测试linux带宽,linux下使用命令行测试网速 speedtest-cli,Linux带宽测试
Speedtest.net提供了一个命令行工具 speedtest-cli 我们可以在Linux中使用speedtest-cli来测试宽带速度 speedtest-cli是由Python编写的轻量级L ...
- 通过adb打开Android系统中data文件夹下的app,database的的文件
网上有太多的办法,看的眼花扰乱, 如果你的情况和我是类似的那么久这么做 首先测试机是小米4,系统是MUIU8 7.4.24开发版的,Android6.0.1 小米的手机这点好,在安全管理中就可以roo ...
- python ui测试_uiautomator2 使用Python测试 Android应用
uiautomator2 是一个可以使用Python对Android设备进行UI自动化的库.其底层基于Google uiautomator,Google提供的uiautomator库可以获取屏幕上任意 ...
- uiautomator2 使用Python测试 Android应用
GitHub地址:https://github.com/openatx/uiautomator2 介绍 uiautomator2 是一个可以使用Python对Android设备进行UI自动化的库.其底 ...
- [原创]浅谈移动互联网App兼容性测试
[原创]浅谈移动互联网App兼容性测试 今天要谈的话题,估计各位测试都有感受,移动互联网App兼容性测试,我们到底测试覆盖如何去挑选机型?具体移动App兼容性测试如何开展?是不是应引进像testin这 ...
- APP专项测试-弱网测试
在当今移动互联网盛行的时代,网络的形态除了有线连接,还有2G/3G/4G/5G/WiFi等多种手机网络连接方式.不同的协议.不同的制式.不同的速率,使移动应用运行的场景更加丰富.目前移动端产品的使用用 ...
- 第九章 APP项目测试(1)
9.2 APP测试流程 APP的整个研发周期一般在2~3个月左右,具体根据产品复杂度来确定,测试周期一般是1~3周左右,要求测试工程师熟悉APP的整个测试的流程和方法,APP的测试流程如下: 1.计划 ...
- app稳定性测试教程——全网最全(测试木头人)
超详细测试流程及分析 --没有之一 App稳定性测试简介 App的性能测试主要有响应.内存.cpu.FPS.GPU过度渲染.耗电.耗流七个指标,app除了这些性能测试,还有:手机版本号兼容性,屏幕分辨 ...
最新文章
- ubuntu系统安装mysql二进制压缩包(tar.gz)以及navicat远程连接服务器(linux系统)
- jquery的attr和prop区别之实例
- mysql中的钱null,mysql 中null总结
- Java修饰符:public,protected,private,不加修饰符的区别
- mysql颠覆实战笔记(五)--商品系统设计(二):定时更新商品总点击量
- python判断linux中文件是否存在_linux shell 中判断文件、目录是否存在的方法
- 海龟绘图两小时上手C语言 - 2 绘制正方形
- 使用 kubeadm 创建 kubernetes 1.9 集群
- 什么叫做支路_家庭电路用什么开关?不同的开关有什么用?主开关用漏保更好吗?...
- 对象 'dbo.xxx' 不存在,或对此操作无效。为表创建触发器,为什么提示对象不存在?
- 历届电大计算机网考试题及答案,电大2012年计算机应用基础网考统考试题及答案...
- cactiez mysql_cactiez v11添加对mysql数据库、apache系统进行监控
- nodejs通过later实现定时执行任务
- fckeditor for php 下载,FCKeditor(HTML在线编辑器)下载_FCKeditor(HTML在线编辑器)官方下载-太平洋下载中心...
- python nltk 8 分析句子结构
- 关于Android Studio单元测试中“Method d in android.util.Log not mocked.”问题的解决。
- Fisher线性判别
- html h5 php 语音录入,html5在输入框添加语音输入功能
- 整理任正非思想:要建立一个均衡的平台-1995
- Directx11教程七之2D渲染