不好意思 最近在把windows上的程式
改成在linux上,發現了一個奇怪的問題
我要寫個收udp broadcast 封包的程式
我在 recvfrom 這邊之前 我會先bind eth0 的 ip
但是我發現我 bind ip 後 就收不到
(255.255.255.255) 和 (192.168.3.255) 的 packet
% 我的網域在 192.168.3.X
但是 如果再在bind ip 是使用 INADDR_ANY
struct sockaddr_in my_addr;
my_addr.sin_addr.s_addr = INADDR_ANY
就可以收到上述兩種 boradcast 的 packet
奇怪的是 我在windows這樣測 就不會有這樣收不到封包的問題?
請問這是 os 差異嗎? 還是我哪裡有搞錯了?
感謝各位高手賜教~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.209.138.248