winsock 高手请进!快快

ksyou 2002-07-11 05:35:27
shoe=WSASocket(AF_INET, SOCK_RAW, IPPROTO_TCP, NULL, 0,0);
if(shoe==INVALID_SOCKET)
{
printf("WSASocket() failed: %d\n",WSAGetLastError());
return;
}

bOpt=TRUE;
ret=setsockopt(shoe,IPPROTO_IP,IP_HDRINCL,(char*)&bOpt,sizeof(bOpt));
if(ret==SOCKET_ERROR)
{
printf("setsockopt(IP_HDRINCL) failed:%d\n",WSAGetLastError());
return;
}
出错,怎么解决?
...全文
18 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ksyou 2002-07-12
  • 打赏
  • 举报
回复
非常感谢kingzai网友,希望以后能多多指教
kingzai 2002-07-11
  • 打赏
  • 举报
回复
注意,如果设置IP_HDRINCL 选项,那么必须具有 administrator
权限,要不就必须修改注册表:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Afd\Parameter\
修改键:DisableRawSecurity(类型为DWORD),把值修改为 1。如果没有,就添加。

BOOL blnFlag=TRUE;
setsockopt(sock, IPPROTO_IP, IP_HDRINCL, (char *)&blnFlag, sizeof(blnFlag);

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧