首页 > 其他分享 >网卡-热点搜索不到或者无法连接问题

网卡-热点搜索不到或者无法连接问题

时间:2024-06-17 22:00:15浏览次数:24  
标签:IP 192.168 网卡 搜索 var 137 热点 连接

大屏设置网卡开启热点后,经常收到反馈,手机端无法搜索到大屏热点、或者手机连接大屏热点失败

这类问题一般有以下几类情况:

1. 物理网卡IP与热点网卡IP相同

2. 热点网卡IP,非正常热点IP(192.168.137.X)

热点IP我们一般定为192.168.137.X,192.168.137.X是一个保留的IPv4地址范围,通常被用作局域网内部的私有IP地址。

这个地址范围通常用于Wi-Fi热点或者一些家庭网络中。其中,X代表了特定设备在局域网中的唯一标识,通常是1到254之间的一个数字。

针对上面2类情况修复热点IP,

1. 物理网卡IP与热点网卡IP相同

-- 在物理网卡设置了某个热点IP如192.168.137.1时,热点网卡IP需要规避此IP。如果局域网中已经有DHCP服务器在分配IP地址,而热点设备也在尝试分配IP地址,可能会引起IP地址分配冲突,导致网络连接问题。虽然我不建议物理网卡分配此IP,但出现问题我们貌似只能通过热点网卡来规避此冲突了

2. 热点网卡IP,非热点IP(192.168.137.X)

-- 热点为私有网络,建议用热点专有IP域,可以减少与局域网正常分配IP之间的冲突。

以下是修复代码,团队内部开发的网卡一部分业务逻辑:

 1     public async Task<bool> RepairIpConflictAsync()
 2     {
 3         var allNetworks = await GetAllNetworkInfosAsync();
 4         // 获取到当前虚拟网卡
 5         var virtualAdapter = allNetworks.FirstOrDefault(x => x.IPEnabled &&
 6                                                                x.Description.Contains(VirtualWifiDescription));
 7 
 8         if (virtualAdapter == null) return false;
 9         //物理网卡是否使用了热点IP
10         var physicalCardErrorIps = new List<string>();
11         foreach (var x in allNetworks.Where(x => !x.Description.Contains(VirtualWifiDescription)))
12         {
13             physicalCardErrorIps.AddRange(x.Ipv4Array.Where(ip => ip.StartsWith(HotStopIpStart)));
14         }
15         var needFixVirtualIp = virtualAdapter.Ipv4Array.FirstOrDefault(x => x.StartsWith(HotStopIpStart)) == null;
16         //物理网卡未使用热点IP,且虚拟网卡在使用热点IP
17         if (physicalCardErrorIps.Count == 0 && !needFixVirtualIp)
18         {
19             return false;
20         }
21         var networkAdapter = new NetworkAdapterController(virtualAdapter.SettingID);
22         for (var i = 1; i < 255; i++)
23         {
24             var ip = $"{HotStopIpStart}{i}";
25             if (physicalCardErrorIps.Contains(ip)) continue;
26             networkAdapter.SetIPAddress(ip, "255.255.255.0");
27             return true;
28         }
29         return false;
30     }

先获取当前虚拟网卡"Microsoft Wi-Fi Direct Virtual Adapter",virtual adapter一般会有多张,选择IPEnabled=true的那张(在网络适配器上绑定并启用 TCP/IP)

物理网卡可能存在使用热点网卡情况,所以接下来获取所有使用热点IP的IP列表,用于后续给热点网卡规避这些IP

虚拟网卡是否采用热点IP,未采用的话也需要重新设置下。

所以,根据网卡ID标识,设置此虚拟网卡为192.168.137.X范围的热点IP、以及默认掩码"255.255.255.0"。同时跳过物理网卡已经使用的热点IP,规避IP冲突

 

标签:IP,192.168,网卡,搜索,var,137,热点,连接
From: https://www.cnblogs.com/kybs0/p/18253301

相关文章

  • AI大模型探索之路-实战篇:智能化IT领域搜索引擎之github网站在线搜索
    系列篇章......
  • c语言连接两个字符串
    在C语言中,连接两个字符串可以使用标准库函数strcat。这个函数将一个字符串添加到另一个字符串的末尾。使用strcat时,需要确保目标字符串有足够的空间来容纳源字符串,否则可能会导致缓冲区溢出。下面是strcat函数的基本用法示例:#include<stdio.h>#include<string.h>......
  • Elasticsearch 近实时搜索的底层原理
    我们都知道Elasticsearch的搜索是近实时的,数据写入后,立即搜索(不通过id)文档是搜不到的。这一切的原因要归于lucene所提供的API,因为lucene的API就是非实时的,Elasticsearch在lucene之上盖房子,通过一些增强,实现了查询的近实时和id查询的实时性。本文就来看看这个近实时......
  • 云终端连接工作站,实现用户和资产分离方案
    一、背景为了实现工作站主机和用户的分离,并确保资产的安全管理,本方案采用远程桌面和终端登录的方式,使用户通过远程访问桌面来完成日常工作。此方案不仅可以集中管理企业资产,还可以提高信息安全水平。二、方案1.方案架构图2.方案组件工作站:安装有重资产或数据重要的工作站......
  • JPS(Jump Point Search)跳点搜索路径规划算法回顾
      本篇文章主要回顾一下几年前学的JPS跳点搜索规划算法的相关内容,之前学的时候没有进行概括总结,现在补上  一、A*算法简单回顾–  1、基本介绍和原理  A*(A-Star)算法是一种静态路网中求解最短路径最有效的直接搜索方法,也是解决许多搜索问题的有效算法。......
  • Javaweb实现简易记事簿 jdbc实现Java连接数据库
    //相关代码packageUserAct;importjakarta.servlet.;importjakarta.servlet.annotation.WebServlet;importjakarta.servlet.http.;importjava.io.;importjava.sql.;//登出@WebServlet("/UserAct.DeleteEvent")publicclassDeleteEventimplementsServlet{......
  • 【递归、搜索与回溯】综合练习二
    综合练习二1.组合2.目标和3.组合总和4.字母大小写全排列点赞......
  • 【flink实战】flink-connector-mysql-cdc导致mysql连接器报类型转换错误
    文章目录一.报错现象二.方案二:重新编译打包flink-connector-cdc1.排查脚本2.重新编译打包flink-sql-connector-mysql-cdc-2.4.0.jar3.测试flink环境三.方案一:改造flink连接器一.报错现象flinksql任务是:mysql到hdfs的离线任务,flink在消费mysql时报如上错误......
  • Linux测试点对点连接速度工具
    iPerfiperf是一个网络性能测试工具,它可以测试TCP和UDP带宽质量,可以测量最大TCP带宽,具有多种参数和UDP特性,可以报告带宽,延迟抖动和数据包丢失。利用iperf这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。Debian系的发行版可以使用如下命令安装iPerf......
  • 在Linux中,常用的远程连接⼯具有那些?
    Linux系统中常用的远程连接工具包括Remmina、GNOME连接工具、X2Go、KRDC、TigerVNC查看器、Xshell、SecureCRT、WinSCP、PuTTY、MobaXterm和FinalShell等。这些工具各有特点,支持不同的协议,适用于不同的应用场景。以下是具体介绍:Remmina:Remmina是一款功能强大的免费开源Linux远......