写一个RAW SOCKET程序时,遇到的一个问题。

hxzb7215191 hxzb7215191 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
在接收的时候,出了问题。

1、
sniffersock = socket( AF_INET , SOCK_RAW , IPPROTO_IP )
2、
setsockopt( sniffersock , SOL_SOCKET , SO_RCVTIMEO , (const char *)&rcvtimeo , sizeof(rcvtimeo) )
3、
bind(sniffersock,(PSOCKADDR)&sa, sizeof(sa))
4、
WSAIoctl( sniffersock, SIO_RCVALL , &dwBufferInLen, sizeof(dwBufferInLen),
&dwBufferLen, sizeof(dwBufferLen),
&dwBytesReturned , NULL , NULL ) )
5、
int nRet = recv(sniffersock,buff,1024,0);
if(nRet = SOCKET_ERROR)
{
TRACE("接收错误!%d\n",WSAGetLastError());
}

前4步都没有出任何的问题。

到了第5步,老是返回的一个-1.我看了一下WSAGetLastError()。但是返回的也只是一个0。
这个是为什么呢?
...全文

相关推荐

评论 5
收藏 已收藏
分享
返回顶部
hxzb7215191
网络编程 18,356 成员 64,161 内容