raw socket question

kaitty 2003-03-19 09:08:58
为什么下面语句编译通不过,是不是winsocket不支持?
怎么解决?谢谢
setsockopt(sockfd,IPPROTO_IP,IP_HDRINCL,&on,sizeof(on));
...全文
23 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
kaitty 2003-03-19
  • 打赏
  • 举报
回复
哦,解决了,原来IP_HDRINCL定义在文件Ws2tcpip.h中
kaitty 2003-03-19
  • 打赏
  • 举报
回复
看到了,win2000应该支持的,但是我的程序编译通不过啊?
怎么办?
Winsock 1.1 Win9x with WinNT 4.0 Windows 2000
(all platforms) Winsock 2
Raw I[CG]MP No Yes Yes Yes
IP_HDRINCL No No No Yes
Raw TCP/UDP No No No No

kingzai 2003-03-19
  • 打赏
  • 举报
回复
winsock programmer's FAQ

These stacks do not support raw IP or "packet capturing" from the Winsock layer.
Notice that raw TCP and UDP ar'nt possible directly under Winsock 2. Instead ,
you must use IP_HDRINCL and build your own IP and TCP or UDP headers.
Under Windows NT and Windows 2000,only userss that are members of the Administrator group can open raw sockets.
kaitty 2003-03-19
  • 打赏
  • 举报
回复
不是,我的vc 6 professional 不认识选项IP_HDRINCL
LuckFox 2003-03-19
  • 打赏
  • 举报
回复
on = TRUE;
err = setsockopt(sockfd, IPPROTO_IP, IP_HDRINCL, (char*)&on, sizeof(on));
这个能用!你试一试!

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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