2012-06-19 2 views
0

QUdpSocket을 사용하여 브로드 캐스트 패킷을 보내는 응용 프로그램이 있습니다. 패킷을 보내는 컴퓨터에는 여러 네트워크 인터페이스가 있습니다.QUdpSocket이 사용할 네트워크 인터페이스를 지정하는 방법은 무엇입니까?

불행히도 QUdpSocket에 올바른 네트워크 인터페이스를 사용하는 방법을 알 수 없었습니다. 거기에 패킷을 보내는 데 사용할 인터페이스를 정확히 지정할 수있는 옵션이 있습니까?

답변

0

모든 서브넷에는 고유 한 브로드 캐스트 주소가 있습니다. 그래서 나는 10.255.255.255 나 192.168.255.255와 같은 주소로 직접 브로드 캐스트 패킷을 보낼 수 있다고 생각합니다.

1

실제로 bind 함수 address의 첫 번째 인수에서 수신 할 네트워크를 선택합니다. 예를 들어 QHostAddress::AnyIPv4을 선택하는 경우 패킷을 수신 한 인터페이스 (어떤 IP 주소의 결과로 더 잘 표현할 수 있음)가 있더라도 프로그램은이를 받아들입니다. 그렇지 않으면 패킷을 보내야하는 IP 주소 (또는 브로드 캐스트 주소)를 입력 할 수 있습니다.

그것의 디버깅 및 검증을 위해 여기에 설명 된대로 열린 포트를 나열 netstat를 사용할 수 있습니다 https://superuser.com/questions/529830/get-a-list-of-open-ports-in-linux

netstat 명령의 결과에서, Local Address 당신이 주소에 귀를 기울되고, 지정 찾고있는 것입니다 .

참고 : 로컬 주소의 로컬 호스트 주소 (예 : 0.0.0.0 또는 127.0.0.1)는 모든 로컬 주소가 허용됨을 의미합니다.

관련 문제