내가 이렇게 내 UDP 소켓을 바인딩 할 경우Qt udp 소켓, 소켓의 readyRead 신호는 무엇입니까?
이connectState = socket->bind(QHostAddress::Any, 14550);
후 나의 이해는 UDP를 사용하여 뭔가를 쓰는 경우 포트 14550 내 LAN에있는 모든 장치가 readyRead 신호를 트리거 것입니다.
맞습니까? 일부 장치가 prot 12345에 있으면 readyRead 신호가 트리거되지 않습니다. 특정 주소 범위에만 바인딩 할 수 있습니까?
내 PC의 주소가 192.168.1.10이라면 udp 패킷의 주소를 보내는 장치는 192.168.1.20이고 내 PC에서는 socket-> bind (QHostAddress :: Any, 14550)를 호출합니다. 내 PC가 패킷을 수신하고 readRead 신호를 트리거 할 수 있습니까? 아니면 내 장치가 패킷을 보낼 주소가 무엇입니까? – Nyaruko
장치가 명시 적으로 패킷을 192.168.1.10에 보내야합니다. 그렇지 않으면 PC에 연결되지 않습니다. 방송국 주소는 당신이 생각하는 것입니다. 특별 브로드 캐스트 주소로 청취하는 경우 모든 장치에서 브로드 캐스트로 전송하는 UDP 패킷을 받게됩니다. 그러나 해당 주소로 수신하는 다른 모든 PC는 동일한 패키지 (따라서 이름)를 받게됩니다. Punchline : 장치가 대상 주소를 알아야합니다. 이유는 무엇입니까? 라우터 또는 DSL 모뎀은 종종 브로드 캐스트 주소를 통해 구성됩니다. 설치 소프트웨어가 브로드 캐스트를 청취하고 장치가이 패키지를 보냅니다. – Oncaphillis