Вопрос

я использую Qtcpserver. из QT-Framework с C ++.

Я начал это с

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

С участием

QHostAddress serverAddress () const

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

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

Это было полезно?

Решение

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

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

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

Другие советы

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

Если вы хотите перечислить адрес вашего сетевого интерфейса, посмотрите на Qnetworkinterface..

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top