创建原始套接字总是失败!!!

宇宙漫步者 2010-10-28 04:07:36
WSADATA wsa;
WSAStartup(MAKEWORD(2,2),&wsa);
char szResult[10];
SOCKET s=socket(AF_INET,SOCK_RAW,IPPROTO_IP);//或者IPPROTO_RAW
if(INVALID_SOCKET==s)
{
int dwErr=WSAGetLastError();
sprintf(szResult,"%ld",dwErr);
AfxMessageBox(CString(szResult));
}
上述代码总是返回错误10013,上网查说是权限问题,不解,我用的是VS2005,Vista操作系统,求指教!!!
...全文
411 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
翅膀又硬了 2010-10-29
  • 打赏
  • 举报
回复
Vista系统运行程序,可能会自动给你的用户权限降级。所以权限就不够了。xp系统比较好
xuting0 2010-10-29
  • 打赏
  • 举报
回复
参数错了
宇宙漫步者 2010-10-29
  • 打赏
  • 举报
回复
不知道和网络环境有没有关系,我这边是路由器共享的网络,郁闷~~~
ouyh12345 2010-10-28
  • 打赏
  • 举报
回复
宇宙漫步者 2010-10-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 visualeleven 的回复:]
原始套接字提供管理下层传输的能力,他们可能会被恶意利用。因此,仅Administrator组的成员能够窗口SOCK_RAW类型的套接字
[/Quote]

那我如果想用的话应该怎么办,比如进行哪些设置之类的?
ouyh12345 2010-10-28
  • 打赏
  • 举报
回复
好像xp sp2以后就不支持SOCK_RAW了
Eleven 2010-10-28
  • 打赏
  • 举报
回复
原始套接字提供管理下层传输的能力,他们可能会被恶意利用。因此,仅Administrator组的成员能够窗口SOCK_RAW类型的套接字
ouyh12345 2010-10-28
  • 打赏
  • 举报
回复
xiaoguailong3 2010-10-28
  • 打赏
  • 举报
回复
SOCKET s=socket(AF_INET,SOCK_RAW,IPPROTO_IP);//或者IPPROTO_RAW
第二个参数有问题吧?SOCK_STREAM TCP流;SOCK_DGRAM UDP的包。你写的那个一般我都没见到

18,356

社区成员

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

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