2010-11-24 3 views
1

Qt-Framework의 C++에서 QTcpServer을 사용합니다.QTcpServer가 둘 이상의 주소를 검색합니다.

은 내가 그것에서 주소를 검색

QHostAddress serverAddress() const 

으로

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

와 함께 시작했다. 0.0.0.0입니다. 내 의견으로는 하나 이상의 주소 (예 : 127.0.0.1 및 LAN 주소)에서 수신 대기해야합니다.

이 클래스에서 둘 이상의 주소를 검색하는 방법이 있습니까?

+0

"검색"이란 무엇을 의미합니까? – ereOn

답변

3

나는

보통하는 0.0.0.0 소켓이 모두 위로 구성된 유효한 IPv4 주소와 모든 인터페이스를 듣고 있다는 것을 의미 ... 귀하의 질문에 정확히 무엇인지 모르겠지만.

시스템에서 사용 가능한 모든 IP 주소를 가져 오려면 네트워크 인터페이스를 열거하고 각각의 IPv4 주소 (ioctl 일 가능성이 있으며 SIOCGIFSWADDR)를 쿼리해야합니다.

+0

아 좋아요. 이것이 0.0.0.0의 의미라는 것을 알게되어 기쁩니다. 감사! 그 질문에 대답! – Herrbert

+1

@Herrbert : 당신은 환영합니다 :) Btw, IPv6에 상응하는 것이 필요하다면, 그것은'::'입니다. – ereOn

1

나는 위의 ereOn의 답변에 동의합니다.

네트워크 인터페이스 주소를 표시하려면 QNetworkInterface을 살펴보십시오.