我建立了一個局域網,路由器的地址是192.168.1.1,我的硬件地址是192.168.1.10,它將UDP數據包發送到192.168.1.105:14455。如何綁定到用於UDP通信的正確地址和端口?
我的電腦也在這個局域網中。其IP地址由路由器隨機分配。我想聽從我的硬件在192.168.1.10發送的數據包。
目前,我將我的PC地址設置爲192.168.1.105並綁定到0.0.0.0:14455。
但是,如果我不綁定到0.0.0.0來偵聽所有地址,那麼我應該綁定哪個地址(x.x.x.x:14455)來偵聽我的硬件?
此外,如果我要求硬件通過網絡進行電視廣播。我應該如何綁定我的電腦(x.x.x.x:14455?)?
接收方必須綁定到0.0.0.0或將接收數據包的特定IP。發件人必須綁定到將要發送數據包的特定IP。發送者和接收者都不能綁定到'INADDR_BROADCAST'(255.255.255.255),但是發送者可以發送數據包給那個IP。不過,發送到特定的子網廣播IP會更好。在這種情況下,假設子網掩碼爲255.255.255.0,即192.168.1.255。某些路由器/防火牆阻止255.255.255.255上的廣播。 –
@RemyLebeau,你錯了。這是Linux上的接收器綁定到INADDR_BROADCAST或真實廣播子網的具體要求,但我沒有看到如何綁定到特定的廣播網絡更好,除非您在網絡中阻止它。 – SergeyA
http://man7.org/linux/man-pages/man7/ip.7.html「* INADDR_BROADCAST(255.255.255.255)表示任何主機,並且由於歷史原因與INADDR_ANY具有相同的綁定效果。*」 –