最近一直在研究局域网发现活跃主机的demo,没做之前,感觉水不深,做了之后,差点没淹死。。。。。
需求是这样的:现在要开发一种模块,模块的MAC地址出厂的时候已经写好,但是IP地址可以由客户随便设置。现在的要求是只要模块一接上网线,无聊其IP设置为什么,都可以通过上位机软件通过局域网将其搜索出来。
方式一:采用 p2p方式,编写一个服务端程序和客户端程序,客户端程序自动向服务端报告本机IP和mac地址,由服务端进行服务调度,实现局域网发现;
方式二:采用arp协议,对局域网内活动的主机进行发现,这种方式主要是通过对局域网内的arp捕获,分析处理arp包的内容进行判断,实现局域网发现;
方式三:采用组播的方式,客户端所有主机都自动加入到组播中,在组播中,凡是存在的IP都是活跃折,实现局域网发现。
实际情况:
采用第一种方式的话 ,需要连接到外网,很多时候&#