• 个人博客原文链接
  • 更多文章欢迎访问个人博客站点

在产品的使用中我们一般都要设置一个配置环节,这个环节可以设定主机的IP地址等信息,但是这样配置的话使得我们的产品用起来效果不是很好,因此我想到了实现局域网IP扫描的功能,IP局域网扫描是指定IP网段获取IP地址信息的方法,在加上PING命令来处理实现,检查该设备是否在线。

代码很简单,主要浏览就是获取主机名,然后检查该设备是否可用,如果可用,那么我们的设备是在线的,如果不可用,那说明以前登陆过,现在无法登陆,然后可以根据主机名来实现自动配置的效果。

具体代码

    public static void main(String[] args) {try {//设置IP地址网段String ips = "192.168.2.";String ip;InetAddress addip;//遍历IP地址for (int i = 1; i < 255; i++) {ip = ips + i;addip = InetAddress.getByName(ip);//获取登录过的设备if (!ip.equals(addip.getHostName())) {//检查设备是否在线,其中1000ms指定的是超时时间boolean status = InetAddress.getByName(addip.getHostName()).isReachable(1000);     // 当返回值是true时,说明host是可用的,false则不可。System.out.println("IP地址为:" + ip + "\t\t设备名称为: " + addip.getHostName() + "\t\t是否可用: " + (status ? "可用" : "不可用"));}}} catch (java.io.IOException uhe) {System.err.println("Unable to find: " + uhe.getLocalizedMessage());}}

实现效果

IP地址为:192.168.2.1        设备名称为: phicomm.me                              是否可用: 可用
IP地址为:192.168.2.103     设备名称为: yunos-609150f1f6a4a718.lan       是否可用: 不可用
IP地址为:192.168.2.124     设备名称为: tao-mac.lan                                是否可用: 可用
IP地址为:192.168.2.149     设备名称为: android-2bd63cc5913f1868.lan     是否可用: 不可用
IP地址为:192.168.2.183     设备名称为: redminote4x-hongmish.lan         是否可用: 不可用
IP地址为:192.168.2.198     设备名称为: mi6-xiaomishouji.lan                 是否可用: 不可用

进一步

在设置当前网段的时候,可以更具本机的IP地址来自动的设置当前网段,而不是手动的填写。在识别到某个设备可用的时候,通过接口或者主机名称来判断是是服务器,如果是的话,那么就进行连接操作!

局域网内扫描设备的简单Java实现相关推荐

  1. 局域网内共享文件可集成Java代码实现——FileZilla Server

    局域网内共享文件可集成Java代码实现--FileZilla Server 1. 前言 Filezilla的主要优势在于:高安全.高性能.Filazilla的安全性是来自于其开放源代码的. Filez ...

  2. 获取局域网内服务器信息,使用Java代码获取服务器性能信息及局域网内主机名.pdf...

    使使用用Java代代码码获获取取服服务务器器性性能能信信息息及及局局域域网网内内主主机机名名 最近做个项目,就是要取 cpu 占有率等等的系统信息,一开始以为要用动态链接库了,但后来发现可以像下面这样 ...

  3. 关于局域网内,超简单实现电脑与Android设备的文件传输。

    最近遇到一个问题,就是KD的公司强制给开发人员笔记本安装了某些软件,导致无法向外复制文件,于是想起度娘,粗略搜了下传输方法,找到以下两种方式: 传输设备安装Roamit软件(感觉这种太麻烦,具体方法略 ...

  4. 自学Java语言网络编程局域网内与电脑无线传输视频,图片文件,调用系统媒体播放视频图片文件

    先看看电脑上的效果,可以查看磁盘下的文件,可以用鼠标双击MP4,MP3文件会调用系统播放器进行播放,电脑与手机同局域网内无线互传jpg图片与MP4视频文件,其他文件此代码不支持.下面有安卓上的逻辑代码 ...

  5. C#_Socket网络编程实现的简单局域网内即时聊天,发送文件,抖动窗口。

    C#_Socket网络编程实现的简单局域网内即时聊天,发送文件,抖动窗口. 最近接触了C#Socket网络编程,试着做了试试(*^__^*) 实现多个客户端和服务端互相发送消息 发送文件 抖动窗口功能 ...

  6. java获取局域网内主机,java怎么获取局域网内所有主机ip

    java怎么获取局域网内所有主机ip 关注:53  答案:2  mip版 解决时间 2021-01-27 21:31 提问者夢岭杺 2021-01-27 12:02 java怎么获取局域网内所有主机i ...

  7. Java实现对局域网内PC的监控

    JARVIS 功能 突破内网的限制,实现对局域网内PC的远程监控,目前已实现实时截图,发送关机指令功能 结构 Web应用(JARVIS)和Java应用(Server,PCClient)配合实现功能 J ...

  8. 用机顶盒或网络电视机实现监控摄像头预览,完成简单的录相机功能,用机顶盒远程观看摄像头,多个监控可以同时观看,实时观看,也可以用机顶盒或网络电视观看局域网内的监控画面

    用机顶盒或网络电视机实现监控摄像头预览,完成简单的录相机功能,用机顶盒远程观看摄像头,多个监控可以同时观看,实时观看,也可以用机顶盒或网络电视观看局域网内的监控画面 准备: 1.需要知道 监控摄像头的 ...

  9. 简单实现局域网内实现像素流送的负载均衡

    简单实现局域网内像素流送的负载均衡 需求 实现 nginx的配置 局域网多人像素流配置 运行验证 需求 运行像素流项目,在一台机子上最多只能开几个实例,我的机器 i9 10系列 rtx3080 最多运 ...

最新文章

  1. idea中配置个人注解代码模板
  2. 卫星参数大全_【视频】早期国外做工精良的海事卫星电话机拆解
  3. 从青铜到王者的路线,java不同系统间数据同步
  4. permutation 1(HDU-6628)
  5. python中copy和deepcopy的区别_python里shadowcopy和deepcopy的区别
  6. STL 算法罗列 (转)
  7. Javascript特效:输入框焦点判断
  8. Go语言--编程哲学
  9. Python数据分析入门(十九):绘制散点图
  10. 熊猫烧香完整的病毒源代码
  11. 2021接力题典1800【数学一】-汤家凤【题目册】
  12. vue-cli 3 和 vue-cli 2的区别[转]
  13. 【踩坑记录】导航时出现原地旋转,然后无法执行导航
  14. oracle10g rman备份有效性,Oracle 10g RMAN的备份 恢复
  15. Android Window悬浮窗窗口全屏(隐藏导航栏状态栏)
  16. 从别人那copy点学习资料
  17. 修改mc服务器名字,好听的mc服务器名字
  18. JAVA面试算法小记
  19. 工单状态的几个TABLE
  20. 递 归 ,递 推 ,贪 心,学 习 总 结

热门文章

  1. CSS进阶(一)背景与边框
  2. 在ipad上模拟linux,不用越狱。
  3. 电动汽车动力系统匹配计算模型:输入整车参数及性能要求,一键生成驱动系统的扭矩功率峰值转速等参数
  4. 独家 | 蚂蚁金服漆远首谈刚完成的AI重大突破及紧缺人才,呼吁国内多点技术性强的大会,少点网红
  5. 移动MAS短信平台发送短信
  6. office提示“office未获得合适的许可,你可能是盗版软件的受害者。立即…”怎样解决?
  7. MATLAB示例——图像中米粒个数的识别
  8. 软考信息系统项目管理师论文写作技巧总结
  9. 乐佰小迪智能机器人怎么使用_麦咭智能机器人价格及说明(麦咭智能机器人怎么恢复出厂设置)...
  10. 四位行波进位加法器_加法器学习记录