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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top