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

看板Linux作者 (theanine)時間14年前 (2011/08/18 13:04), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
可以用setsockopt()來設定receive broadcast packets. ※ 引述《fuha (mimi)》之銘言: : ※ [本文轉錄自 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: 60.250.195.55

08/18 13:16, , 1F
我有設定這個選項,但是情況也是一樣 在 linux上就會這樣!?
08/18 13:16, 1F
文章代碼(AID): #1EJ9r5_N (Linux)
文章代碼(AID): #1EJ9r5_N (Linux)