Приложение должно работать как сервер в локальной сети. Он отображает свой адрес визуально, и пользователи могут вводить их в свои клиентские приложения (возможно, на других машинах в локальной сети), чтобы подключиться к нему. Не требуется работать вне локальной сети.
Цель состоит в том, что даже если я использую mDNS, могут быть сети, где он недоступен, или когда сервер работает на нескольких машинах, и пользователи хотели бы указать, к какой из них подключаться.
Однако, когда мой сервер устанавливает сокет TCP, я вижу несколько адресов. Я использую QNetworkInterface Qt, который возвращает мне следующие адреса:
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-адрес, так как пользователю проще всего его записать и ввести в клиентское приложение.
Однако я боюсь, насколько это надежно на будущее.
Настройте локальную запись DNS для сервера на вашем DHCP-сервере, который можно использовать совместно с вашими пользователями. Это можно сделать, добавив запись в файл / etc / host сервера DHCP. Это останется перспективным в будущем, поскольку любое изменение IP-адреса сервера может быть обновлено в одном месте.