Re: [問題] 在linux上UDP封包詭異的問題
可以用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
08/18 13:16, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):