当前位置:网站首页>解决5+APP真机测试无法访问后台(同局域网)
解决5+APP真机测试无法访问后台(同局域网)
2022-08-02 03:23:00 【呆呆papa】
项目描述
客户端,基于H5Plus使用MUI框架开发的APP,运行环境为小米手机真机测试。
服务端,使用SpringBoot搭建的项目,运行环境为SpringBoot内置Tomcat,部署端口为8090。
问题分析
电脑和手机连接同一个WiFi,手机点击按钮,触发Ajax请求,无法访问在笔记本电脑上部署的SpringBoot后台。
原Ajax请求地址,使用的是localhost,打开电脑cmd窗口,输入ipconfig查询电脑的ipv4地址,修改localhost为电脑私网IP。
mui.ajax("http://192.168.1.215:8090/coding/send",{
data:{
user:telephone.value,
},
dataType:'json',//服务器返回json格式数据
type:'post',//HTTP请求类型
timeout:10000,//超时时间设置为10秒;
headers:{
'Content-Type':'application/x-www-form-urlencoded'},
注: 这里最好的方法,是单独写一个IP配置文件,这样每次只需要更改配置文件的IP就可以了。
更新手机端代码后,重试Ajax请求。仍然无法和后台通信,Ajax返回abort错误,此时防火墙已经关闭。
打开手机所连接的WiFi设置,找到此时手机的IP地址,在电脑的cmd窗口中ping一下,可以ping通,但是就是访问不了后台,抓包工具也没有抓到有包过来。

此时,手机和电脑均在同一局域网,防火墙并没有拦截请求,腾讯电脑管家已经关闭。继续在cmd窗口使用netstat -na查看TCP的192.168.1.215:8090是否有连接状况,并没有找到8090端口的TCP连接。
原因分析
通过查询发现路由器有一个AP隔离模式,因为路由器不是我家的,所以无法确定该路由是否开启了AP隔离模式,但是真机测试结果和AP隔离非常相似。
AP隔离是一种路由模式。AP隔离指的是开启之后,各个连接的设备不能互相通讯,起到隔离的作用,来保障不同用户的安全。《详细见 百度百科AP隔离》
解决方案
方案 1(极不推荐) 打破手机和电脑在同一局域网的条件,使用NAT做内网穿透,手机和电脑可以在不同的局域,可以直接在公网中访问后台,没有尝试过这种方法,个人觉得比较麻烦。
方案 2(推荐) 在上述问题的基础上(将手机和电脑通连接在同一个WiFi路由器上,构成在同一局域网条件),如果有条件,可以尝试关闭路由器的AP隔离。
方案 3(推荐) 电脑打开移动热点,手机连接热点构成在同一局域网条件。
方案 4(推荐) 手机打开移动热点,电脑连接热点构成在同一局域网条件。
注: 这里每一种方案的IP地址都不一样。
所有方案都需要注意以下几点:
- 关闭电脑防火墙或者在控制面板添加入站规则
- Ajax请求IP地址需要修改为当前电脑的IP地址
- 修改完了IP,千万不要忘记同步到安卓手机中
如果连接成功,使用netstat -an是可以找到手机和电脑8090端口的一个TCP连接的;同时,在SpringBoot的后台也会有记录。
边栏推荐
- 微信小程序云开发之模糊搜索
- [vite] Failed to parse source for import analysis because the content contains invalid JS syntax.
- js scope and closure
- 客户评分控件
- 广州华为面试总结
- np.unique() function
- SOCKS5
- DOM manipulation---magnifying glass case
- 面试总结 22/7/22 面试中的重点
- Error in render: “TypeError: Cannot read properties of null (reading ‘0‘)“ 报错解决方案
猜你喜欢

URL模块

Phospholipid-polyethylene glycol-hydrazide, DSPE-PEG-Hydrazide, DSPE-PEG-HZ, MW: 5000

客户评分控件

FreeRTOS内核详解(1) —— 临界段保护原理

DOM操作---放大镜案例

ModuleNotFoundError No module named 'xxx' possible solutions

URL URL

Circular linked list---------Joseph problem

新工程加载YOLOV6的预训练权重问题

ThunderBirde无法登录问题、pycharm调试一直收集数据、RuntimeError: CUDA error: device-side assert triggered等疑难杂症解决
随机推荐
我的小笔记 =》原生微信小程序
String comparison size in MySQL (date string comparison problem)
STM32 CAN过滤器
如何查看一个现有的keil工程之前由什么版本的keil IDE编译
--fs模块--
C语言 十六进制整数字符串转十进制整数
1.8今日学习
Phospholipid-polyethylene glycol-azide, DSPE-PEG-Azide, DSPE-PEG-N3, MW: 5000
猴子选大王(约瑟环问题)
C语言中关于2的n次方求值问题(移位运算)
Basic usage of Monaco Editor
C语言 结构体定义方法
这些JS题面试时一定要答对!
我的小笔记 =》其他东东
basic operator
每日五道面试题 2022/7/27
canvas--饼状图
1.11今日学习
每日五道面试题总结 22/7/23
Dynamic proxy tool class