我想写一个在网络设备上运行的软件,即PC。它可以自动检测其他网络设备的类型。例如,它可以检测到在同一网络中运行的PS3,Wii和IPad。有任何想法吗?谢谢,
答案 0 :(得分:1)
您有两个问题:首先,检测到设备已连接到您的网络和192.168.1.x
。其次,以某种方式检测设备是什么。
第一个很容易实现:有UPnP和Bonjour等发现协议。但是,在家庭网络方案中,获取连接设备列表的最简单,最可靠的方法可能是从路由器中提取DHCP预留。您可能必须从路由器的基于HTML的管理界面中抓取数据 - 这可能是 - 但它会起作用。 (如果您使用的是.NET,请考虑使用HTML Agility Pack来完成此操作。)
一旦你有连接设备的IP地址列表,你的下一个问题就是找出每个设备实际上是什么。这将更具挑战性。一些可能性:
答案 1 :(得分:0)
几个想法。广播IP地址 - 255.255.255.255是设备说话并说“我在这里”的地方。应该能够听到这个并找到ip地址等等。其次,如果设备被DHCP客户端(显然)分配了IP地址,通常可以在dhcp设备上找到列表。设备通常具有名称,这是一个更高级别的协议,如Windows SMB,您可能必须与之接口才能获取该信息。