• 4920阅读
  • 3回复

同一网口接收单播和组播信息 [复制链接]

上一主题 下一主题
离线lizhenneng
 

只看楼主 倒序阅读 楼主  发表于: 2014-09-10
大家好,我想在Linux下使用qt,通过一个QUdpSocket对象绑定某一块网卡,既接收单播报文,又接收多播报文。
目前可通过bind绑定某一块网卡接收单播报文,不过多播报文就无法收到;
如果要接收多播报文,bind不能绑定具体哪块网卡的地址,否则收不到多播报文,使用joinMulticastGroup()指定从哪块网卡接收多播报文,这样虽然可以从指定网卡接收多播报文,但同时也可以接收到来自所有网卡的单播报文;
参考了C的实现方式,也没有发现可以实现的方式,有人建议用两个套接字,一个接收单播,一个接收多播,如果这样,那单播和多播的端口还得不一样,有点麻烦,好像windows下就可以实现,不论是单播还是多播都可以通过bind绑定网卡接收;
不知各位大牛有何高见?

离线lizhenneng

只看该作者 1楼 发表于: 2014-09-10
在windows上使用qt 5.3.1+minGW,通过bind来绑定单播/多播从指定网卡收数据成功,看来windows和linux在这方面有区别啊。
离线lizhenneng

只看该作者 2楼 发表于: 2014-09-16
广播类似也有这个问题。
离线momo001

只看该作者 3楼 发表于: 2015-03-06
遇到同样问题,不知到楼主怎么解决的,求教!
快速回复
限100 字节
 
上一个 下一个