Socket的ReceiveFrom() 函数收不到UDP包,急!!
我是CSDN的新用户。不知道会不会有人帮我解决。
描述:
socket绑定本地10.1.251.10:1050, 通过ReceiveFrom()函数接收任何地址发送过来的UDP包。
奇怪的是,我用局域网内另台机子10.1.251.13(以下称13)发送到UDP可以收到,而另外一个叫Zone Controller(应该是个网关吧)(10.1.231.1,以下称1)的发送的UDP包怎么也收不到。
我用sniff工具抓了包,13和1的包都能抓到,但为什么Socket的receivefrom()只能抓到13的包呢。
我用sniff查看了包的结构,发现10.1.251.13和10.1.231.1发送的包的差别是,在IP层的包头,1包括了路由选项,而13没有,也就是在IP头的部分,1比13多了12个字节。
难道要先对socket做 setsocketoption的操作才能收到1的包吗,具体应该怎么做,求教大家