QTCPSERVER recuperar mais de um endereço
-
27-09-2019 - |
Pergunta
eu uso QTCPSERVER do quadro QT com C ++.
Eu comecei com isso com
ret = tcpServer->listen(QHostAddress::Any, 9871)
Com
QHostAddress serverAddress () const
Eu recupero o endereço dele. Que é 0,0.0.0. Na minha opinião, deve ouvir mais de um endereço (como 127.0.0.1 e o endereço da LAN).
Existe uma maneira de recuperar mais de um endereço desta classe?
Solução
Não tenho certeza de qual é a sua pergunta, mas ...
Geralmente, a 0.0.0.0
significa que o soquete ouve todas as interfaces que estão atualizadas e configuradas com um válido Endereço IPv4.
Se você deseja obter todos os endereços IP disponíveis no sistema, você deve enumerar a interface de rede e consultar o respectivo endereço IPv4 (provavelmente com um ioctl
, especificando SIOCGIFSWADDR
).
Outras dicas
Eu concordo com a resposta de Ereon acima.
Se você quiser listar seus endereços de interface de rede, dê uma olhada QNetworkInterface.