当前位置:网站首页>Solve the problem that the 5+APP real machine test cannot access the background (same local area network)

Solve the problem that the 5+APP real machine test cannot access the background (same local area network)

2022-08-02 04:06:00 Gawk papa

项目描述

客户端,基于H5Plus使用MUI框架开发的APP,The operating environment is the real machine test of Xiaomi mobile phone.

服务端,使用SpringBoot搭建的项目,运行环境为SpringBoot内置Tomcat,部署端口为8090.

问题分析

电脑和手机连接同一个WiFi,The phone clicks the button,触发Ajax请求,Can't access deployed on laptopSpringBoot后台.

原Ajax请求地址,使用的是localhost,打开电脑cmd窗口,输入ipconfigInquire about the computeripv4地址,修改localhostFor the computer private networkIP.
在这里插入图片描述

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'},	 

注: The best way here,is written aloneIP配置文件,This way you only need to change the configuration file each timeIP就可以了.

After updating the mobile phone code,重试Ajax请求.Still unable to communicate with the background,Ajax返回abort错误,此时防火墙已经关闭.

Turn on what the phone is connected toWiFi设置,Find the phone at this timeIP地址,在电脑的cmd窗口中ping一下,可以ping通,But just can't access the backend,The packet capture tool did not catch any packets.
在这里插入图片描述
在这里插入图片描述

此时,Both the mobile phone and the computer are in the same local area network,The firewall is not blocking the request,Tencent Computer Manager has been closed.继续在cmd窗口使用netstat -na查看TCP的192.168.1.215:8090Whether there is a connection status,并没有找到8090端口的TCP连接.
在这里插入图片描述


原因分析

It is found by querying that the router has oneAP隔离模式,Because the router is not my home,So it is impossible to determine whether the route is enabledAP隔离模式,But the real machine test results andAPIsolation is very similar.

APIsolation is a routing pattern.APIsolation refers to after opening,The individual connected devices cannot communicate with each other,起到隔离的作用,to ensure the safety of different users.《详细见 百度百科AP隔离

解决方案

方案 1(极不推荐) Break the condition that the mobile phone and the computer are in the same local area network,使用NAT做内网穿透,Mobile phones and computers can be in different local areas,You can directly access the background in the public network,Haven't tried this approach,个人觉得比较麻烦.

方案 2(推荐) 在上述问题的基础上(Connect your phone and computer to the same oneWiFi路由器上,constituted in the same LAN condition),如果有条件,Try turning off the routerAP隔离.

方案 3(推荐) Turn on the mobile hotspot on the computer,The mobile phone is connected to the hotspot in the same LAN condition.
在这里插入图片描述

方案 4(推荐) Turn on the mobile hotspot on your phone,The computer is connected to the hotspot in the same LAN condition.
在这里插入图片描述
注: Every option hereIP地址都不一样.

All programs need to pay attention to the following points:

  1. Turn off the computer firewall or add inbound rules in the control panel
  2. Ajax请求IPThe address needs to be changed to that of the current computerIP地址
  3. 修改完了IP,Don't forget to sync to your Android phone

如果连接成功,使用netstat -anYes, mobile phones and computers can be found8090one of the portsTCP连接的;同时,在SpringBootThe background will also record.
在这里插入图片描述

原网站

版权声明
本文为[Gawk papa]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/214/202208020321581992.html