1得到局域网网段,可由自己机器的IP来确定 (也可以手动获取主机IP-CMD-ipconfig /all)
2根据IP类型,一次遍历局域网内IP地址
JAVA类,编译之后直接运行便可以得到局域网内所有IP,具体怎样使用你自己编写相应代码调用便可
代码如下::
package bean;
import javaio;
import javautil;
public class Ip{
static public HashMap ping; //ping 后的结果集
public HashMap getPing(){ //用来得到ping后的结果集
return ping;
}
//当前线程的数量, 防止过多线程摧毁电脑
static int threadCount = 0;
public Ip() {
ping = new HashMap();
}
public void Ping(String ip) throws Exception{
//最多30个线程
while(threadCount>30)
Threadsleep(50);
threadCount +=1;
PingIp p = new PingIp(ip);
pstart();
}
public void PingAll() throws Exception{
//首先得到本机的IP,得到网段
InetAddress host = InetAddressgetLocalHost();
String hostAddress = hostgetHostAddress();
int k=0;
k=hostAddresslastIndexOf("");
String ss = hostAddresssubstring(0,k+1);
for(int i=1;i <=255;i++){ //对所有局域网Ip
String iip=ss+i;
Ping(iip);
}
//等着所有Ping结束
while(threadCount>0)
Threadsleep(50);
}
public static void main(String[] args) throws Exception{
Ip ip= new Ip();
ipPingAll();
javautilSet entries = pingentrySet();
Iterator iter=entriesiterator();
String k;
while(iterhasNext()){
MapEntry entry=(MapEntry)iternext();
String key=(String)entrygetKey();
String value=(String)entrygetValue();
if(valueequals("true"))
Systemoutprintln(key+"-->"+value);
}
}
class PingIp extends Thread{
public String ip; // IP
public PingIp(String ip){
thisip=ip;
}
public void run(){
try{
Process p= RuntimegetRuntime()exec ("ping "+ip+ " -w 300 -n 1");
InputStreamReader ir = new InputStreamReader(pgetInputStream());
LineNumberReader input = new LineNumberReader (ir);
//读取结果行
for (int i=1 ; i <7; i++)
inputreadLine();
String line= inputreadLine();
if (linelength() <17 || linesubstring(8,17)equals("timed out"))
pingput(ip,"false");
else
pingput(ip,"true");
//线程结束
threadCount -= 1;
}catch (IOException e){}
}
}
}
wlan是Wireless Local Area Networks的缩写,意为无线局域网,你提问描述欠妥,你本义是想问怎么查看家里的wifi名吧。查看自家WiFi名称(SSID)主要有以下两个方式:
(一)最简单的方式就把手机拿到你路由器旁边,打开手机WiFi,看哪个WiFi信号是满的,满的那个就是你家的路由器WiFi名。
(二)严谨一点的方法是登陆路由器设置页面,查看WiFi的名称。
以tplink路由器为例(其他品牌路由器的查看方法与之类似),查看或修改SSID的方法如下:
准备工作:首先需要一台用网线连接路由器的台式机或笔记本
①在路由器底部,铭牌上,写有路由器的设置页面登录信息,包括网址(IP)、用户名和密码,如下图:
②在浏览器的地址栏输入告诉你的IP,完了按回车键,会d出如下图的用户登陆窗口,再 输入告诉你的用户名(username)和密码(password):
③登录后点击左侧的“无线参数”→“基本设置”,在“SSID”框中,就是你家WiFi目前的名字,可以改成你想要的名称,方便识别,改完点击“保存”按钮即可:
以上就是查看WiFi名的方法。
如果你在前面第③步改了WiFi名,还需要重启路由器,重启方法是,单击左侧菜单里的“系统工具”,选择“重启路由器”,点击“重启路由器”按钮:
在d出对话框中点击“确定”,开始重启路由器,等进度条走到100%即是完成重启,至此修改WiFi名的所有 *** 作就完成了:
在 iOS14 中如果不允许精确定位,那么就获取不到WiFi的名称了。
我的项目中获取WiFi名称的方式:
不允许精确定位就获取不到WiFi名称,那么只有在获取WiFi名称的时候向用户申请临时开启一次精确位置权限了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)