我正在使用 Microchip 的 TCP/IP 堆栈,并且我的设备的主机名没有被广播,尽管我可以使用其 DHCP 分配的 IP 访问它。
所以问题是,网络设备用来广播其主机名的协议是什么,以便当我看到网络中的设备列表时,我可以通过名称识别它?
是 NetBIOS 名称服务还是其他?提前致谢。
我正在使用 Microchip 的 TCP/IP 堆栈,并且我的设备的主机名没有被广播,尽管我可以使用其 DHCP 分配的 IP 访问它。
所以问题是,网络设备用来广播其主机名的协议是什么,以便当我看到网络中的设备列表时,我可以通过名称识别它?
是 NetBIOS 名称服务还是其他?提前致谢。
有支持此功能的 WINS(基于 NetBIOS)。
ZeroConf/Bonjour 提供“服务广告”协议,但我猜这不是你想要的。
在“普通”基于 IP 的网络中,名称解析将通过 DNS 层:DNS 服务器传播它们的数据库(当然,如果也有指示),但在这一层没有“广播”的概念。
我想你现在已经解决了这个问题,但我修改了 Microchip 堆栈中的 dchp.c 文件,并将以下内容添加到 _DHCPSend() 的选项部分。
// host name
i = strlen(AppConfig.NetBIOSName);
UDPPut(12); //host name code
UDPPut(i); //length
UDPPutString(AppConfig.NetBIOSName);
这对我有用。