UDP局域网广播 分明是你接收包的地方有问题,和WireShark的打开与关闭无关。系统确实收到包了,但是你的应用层没有收到包,再找找问题吧 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 调用winpcap的pcap_open_live函数,可以将网卡设置为Promiscuous模式,然后我的程序工作就是正常的,即本机可以接收到本机发送出去的UDP广播。如果不用winpcap,可以把网卡设置为Promiscuous模式么?我用DeviceIoControl设置,GetLastError总是返回1(函数错误)。代码如下:DWORD dwReturn = 0 ; PNDIS_STATISTICS_VALUE pOidData = (PNDIS_STATISTICS_VALUE) ::GlobalAlloc(GPTR, (sizeof(NDIS_STATISTICS_VALUE) + sizeof(ULONG) - 1)); pOidData->Oid = OID_GEN_CURRENT_PACKET_FILTER; pOidData->DataLength = sizeof(ULONG); *((PULONG)pOidData->Data) = NDIS_PACKET_TYPE_PROMISCUOUS; BOOL bRet = ::DeviceIoControl( hf,IOCTL_PROTOCOL_SET_OID, pOidData, sizeof(NDIS_STATISTICS_VALUE) -1 + pOidData->DataLength, pOidData, sizeof(NDIS_STATISTICS_VALUE) -1 + pOidData->DataLength, &dwReturn, NULL); DWORD gle=GetLastError(); ::GlobalFree(pOidData); 用两个方法解决了此问题:1、RAW socket,设置receiveall2、安装winpcap,设置网卡为混杂模式 如何读取系统有几个CPU? 请问哪里有关于COM的教学的书下载,谢谢! 在ListCtrl中加入Edit控件遇到的问题? 请问如何将整型转换成字符串 COM基本问题。请老鸟赐教。 如何改变默认的光标形状? 我用ODBC读取dbf的表,在我的机子上一切正常,可在别的机子上就出现非法操件,请指教 splite数据库insert 1万多条//使用事务语句有例子否? 链表用struct还是class实现的求助 VC中有无监视内存的工具? VC++编程,如何将内存中的二维数组一次性导入到ACCESS数据库 急!!!!!怎么像杀毒软件一样当有文件下载完成能够检测到。
DWORD dwReturn = 0 ;
PNDIS_STATISTICS_VALUE pOidData = (PNDIS_STATISTICS_VALUE)
::GlobalAlloc(GPTR, (sizeof(NDIS_STATISTICS_VALUE) + sizeof(ULONG) - 1)); pOidData->Oid = OID_GEN_CURRENT_PACKET_FILTER;
pOidData->DataLength = sizeof(ULONG);
*((PULONG)pOidData->Data) = NDIS_PACKET_TYPE_PROMISCUOUS;
BOOL bRet = ::DeviceIoControl(
hf,IOCTL_PROTOCOL_SET_OID,
pOidData, sizeof(NDIS_STATISTICS_VALUE) -1 + pOidData->DataLength,
pOidData, sizeof(NDIS_STATISTICS_VALUE) -1 + pOidData->DataLength, &dwReturn, NULL);
DWORD gle=GetLastError();
::GlobalFree(pOidData);
1、RAW socket,设置receiveall
2、安装winpcap,设置网卡为混杂模式