为了通知同一LAN内有关我存在的所有计算机,我想广播我的主机名和IP地址。
如何在不将其作为字符串发送的情况下这样做?
答案 0 :(得分:3)
Avik,这就是DNS的用途。虽然“常规”DNS用于保存每台计算机的名称和IP地址(静态配置),但有一种动态DNS协议允许计算机实时更新其DNS条目。
这种功能在我的客户的一些办公室环境中使用,其中机器上的打印机是共享的,但是他们所连接的机器使用DHCP(意味着他们的IP地址可以改变)。
有关详细信息和使用DHCP的Windows实施,请参阅here和here。
让我们打电话给你想要自己宣传SERVER的机器以及可以使用它的所有机器,CLIENTS。
当然,动态DNS仅通知DNS本身的名称/ IP映射,如果CLIENTS已经知道您的SERVER,那么它们可以从DNS获取IP地址。如果您无法让CLIENTS发现您的SERVER刚被添加,您仍需要偶尔广播一个数据包,表明您的SERVER存在(这只需要SERVER名称,因为CLIENTS将使用DNS获取IP地址)。
此广播数据包应由所有CLIENTS接收并保存在本地表中。如果从CLIENT到SERVER的通信失败,则应删除SERVER的本地表条目(当您的SERVER再次广播时,它将被重新添加)。
答案 1 :(得分:1)
答案 2 :(得分:1)
您可以尝试使用UPnP Discovery。