本人毕设被抽到公开答辩,可是至今程序仍未调试出来,焦急万分,希望各位大大能帮帮忙。
在原始套接字截获流经网卡的数据包的程序中bind(sock, (PSOCKADDR)&addr_in, sizeof(addr_in));// 将sock绑定到本地地址上
ioctlsocket(sock, FIONBIO, &dwValue);//非阻塞模式
ioctlsocket(sock, SIO_RCVALL, &dwValue);//将网卡设为混杂模式
GetLastError();
int BUFFER_SIZE=65535;
char RecvBuf[65535];
while()
{
recv(sock, RecvBuf, BUFFER_SIZE, 0);
.......
}经断点调试GetLastError()返回值是0,ioctlsocket(sock, SIO_RCVALL, &dwValue)和ioctlsocket(sock, FIONBIO, &dwValue)均没有错误,可是recv()函数偏偏死活接受不到数据包(哪怕我开着下载),返回值是-1。懂这个的帮下我啊,急死人了