应用程序应该充当本地网络上的服务器。它以可视方式显示其地址,用户可以将其输入到其客户端应用程序(可能位于本地网络上的其他计算机上)中,以便连接到它。它不需要在本地网络之外工作。
目的是即使我使用 mDNS,也可能存在无法使用的网络,或者当服务器在多台机器上运行时,用户想要指定连接到哪一台。
但是,当我的服务器设置 TCP 套接字时,我会看到多个地址。我使用 Qt 的 QNetworkInterface,它返回以下地址:
Listening at "fe80::589c:xxxx:xxxx:65a5%ethernet_32770"
Listening at "192.168.1.163"
Listening at "::1"
Listening at "2001:0:9d38:90d7:3ca4:xxxx:xxxx:fe5c"
Listening at "fe80::3ca4:xxxx:xxxx:fe5c%tunnel_32768"
很明显,我可以只显示 IPV4 地址,因为这对用户来说是最容易记下来并输入到客户端应用程序中的。
然而,我担心它的未来性。
答案1
请在您的 dhcp 服务器中为服务器配置一个本地 dns 条目,该条目可与您的用户共享。这可以通过在 dhcp 服务器的 /etc/host 文件中添加条目来实现。这将保持未来可靠性,因为服务器 ip 地址的任何更改都可以在一个地方更新。