[問題] 在linux上UDP封包詭異的問題

看板Linux作者 (mimi)時間14年前 (2011/08/16 09:44), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串1/2 (看更多)
※ [本文轉錄自 LinuxDev 看板 #1EIH23K0 ] 作者: fuha (mimi) 看板: LinuxDev 標題: [問題] 在linux上UDP封包詭異的問題 時間: Mon Aug 15 20:26:40 2011 不好意思 最近在把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 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.120.189.230

08/16 13:53, , 1F
如果發個single udp過去 會有收到嗎?
08/16 13:53, 1F

08/16 15:59, , 2F
有! 是有收到 但只要發的是文章裡的兩種packet 就收不到
08/16 15:59, 2F
文章代碼(AID): #1EISk1PF (Linux)
文章代碼(AID): #1EISk1PF (Linux)