QTcpServer получает более одного адреса

Я использую QTcpServer из Qt-Framework с C++.

Я начал это с

ret = tcpServer->listen(QHostAddress::Any, 9871)

С

QHostAddress serverAddress () const

Я извлекаю адрес из него. Который 0.0.0.0. На мой взгляд, он должен прослушивать более одного адреса (например, 127.0.0.1 и адрес локальной сети).

Есть ли способ получить более одного адреса из этого класса?

2 ответа

Решение

Я не уверен, что именно ваш вопрос, но...

Обычно 0.0.0.0 означает, что сокет прослушивает все интерфейсы, которые работают и настроены с действительным адресом IPv4.

Если вы хотите получить все доступные IP-адреса в системе, вы должны перечислить сетевой интерфейс, а затем запросить их соответствующий IPv4-адрес (возможно, с помощью ioctl, указав SIOCGIFSWADDR).

Я согласен с ответом ereOn выше.

Если вы хотите перечислить адреса сетевого интерфейса, взгляните на QNetworkInterface.

Другие вопросы по тегам