QTcpServer получает более одного адреса - PullRequest
1 голос
/ 24 ноября 2010

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

Я начал его с

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

С

QHostAddress serverAddress () const

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

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

Ответы [ 2 ]

3 голосов
/ 24 ноября 2010

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

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

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

1 голос
/ 24 ноября 2010

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

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

...