局域网有电脑在强行推送组播视频报文,也就是说我的电脑直接用抓包软件在网卡抓包就能抓到一大堆组播报文。现在我需要在不发送组播加入报文的前提下,如何用socket接收组播报文。
我曾经尝试用原始套接字的方法来接收,但是失败了,一个组播报文都收不到,
但是一旦我发送了加入报文就可以接收得到了。按照如下方式是抓不到组播报文的,请高手不吝赐教:
int sockRaw = socket(AF_INET, SOCK_RAW, IPPROTO_RAW);
setsockopt(sock, IPPROTO_IP, IP_HDRINCL, (char*)&flag, sizeof(flag);
bind(sockRaw, (PSOCKADDR)&addrLocal, sizeof(addrLocal);
ioctlsocket(sockRaw, SIO_RCVALL, &dwValue);
我曾经尝试用原始套接字的方法来接收,但是失败了,一个组播报文都收不到,
但是一旦我发送了加入报文就可以接收得到了。按照如下方式是抓不到组播报文的,请高手不吝赐教:
int sockRaw = socket(AF_INET, SOCK_RAW, IPPROTO_RAW);
setsockopt(sock, IPPROTO_IP, IP_HDRINCL, (char*)&flag, sizeof(flag);
bind(sockRaw, (PSOCKADDR)&addrLocal, sizeof(addrLocal);
ioctlsocket(sockRaw, SIO_RCVALL, &dwValue);
解决方案 »
- 数据库
- 关于远程唤醒
- CHtmlview 加载一个网页该网页只有一个FLASH,导航后显示不全,最小化后还原显示的内容更少
- 单机如何虚拟局域网?
- CLISTCTRL::DRAWITEM
- 网上下载的VC程序不能加断点调试,应该怎么改?
- 求助:如何获得系统默认的右键弹出式菜单中每项的id,并把某项灰掉(失效掉)!
- 如何添加系统DNS
- 请教CrystalEdit类, 关于语法分析的一个类
- 系统发出咚的一声是什么函数?
- m_bWindowOnly = TRUE; 为何在VC对话框编辑器中插入我的控件的时候还是没有窗口句柄 OnCreate 也不被调用呢?
- 如何在程序中调用科大讯飞的InterPhonic TTS?
也就是说我的加入报文是IGMP V3的,上层路由器能识别,并且能将组播流传下来。
但是我电脑的操作系统一般是WIN2000、WIN98,他们是不识别IGMP V3加入报文的,也就是说电脑认为我没有发送加入报文,所以不接收组播报文。
于是就出现了上面需要解决的问题。
或许可以,但我没用过.