首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

跪求关于在MFC中使用WSAIoctl第二个参数SIORCVALL的有关问题

2012-01-19 
跪求关于在MFC中使用WSAIoctl第二个参数SIORCVALL的问题我的系统是WinXPSP2,VC6.0,新建了一个MFC工程,mstc

跪求关于在MFC中使用WSAIoctl第二个参数SIORCVALL的问题
我的系统是WinXP   SP2,VC6.0,新建了一个MFC工程,mstcpip.h头文件也包含了,
WinSock2.h也包含了,ws2_32.lib   也包含了,Socket创建也没问题,为什么我在用
WSAIoctl的时候就是不对呢,WSAGetLastError返回的错误是10022,这是什么问题呢??
源程序如下:
int   iErrorCode;
iErrorCode   =   WSAStartup(MAKEWORD(2,1),&wsaData);      
CheckSockError(iErrorCode);      
SockRaw   =   socket(PF_INET,   SOCK_RAW,   IPPROTO_IP);      
CheckSockError(SockRaw);      
//获取本机IP地址      
SOCKADDR_IN   addrSrv;
addrSrv.sin_addr.S_un.S_addr   =   htonl(INADDR_ANY);
addrSrv.sin_family   =   AF_INET;
addrSrv.sin_port   =   htons(6666);
iErrorCode   =   bind(SockRaw,   (PSOCKADDR)&addrSrv,   sizeof(addrSrv));      
CheckSockError(iErrorCode);      
//设置SOCK_RAW为SIO_RCVALL,以便接收所有的IP包      
DWORD   dwBufferLen[10];      
DWORD   dwBufferInLen   =   1;      
DWORD   dwBytesReturned   =   0;      
iErrorCode   =   WSAIoctl(SockRaw,   SIO_RCVALL,&dwBufferInLen,   sizeof(dwBufferInLen),&dwBufferLen,   sizeof(dwBufferLen),&dwBytesReturned,   NULL,   NULL);   //就是这里的问题!!    
iErrorCode   =   WSAGetLastError();
return   0;
希望各位大虾帮帮忙吧,小妹在这里跪谢了!!!

[解决办法]
你的mptcpip.h是不是有问题啊,你把它贴上来吧!
[解决办法]
addrSrv.sin_addr.s_addr = inet_addr( "127.0.0.1 "); 你绑谁的IP地址呢?

[解决办法]
socket(PF_INET, SOCK_RAW, IPPROTO_IP);==> > socket(PF_INET, SOCK_RAW, 0);

热点排行