// 初始化Winsock DLL
if (WSAStartup(MAKEWORD(2,2),&wsData) != 0)
{
cout << "WSAstartup failed!" << endl;
return;
}
// 创建Raw Socket
SOCKET sock;
sock = WSASocket(AF_INET, SOCK_RAW, IPPROTO_IPV4, NULL, 0, WSA_FLAG_OVERLAPPED);
cout<<WSAGetLastError();
if (sock == INVALID_SOCKET )
{
cout << "Create socket failed!" << endl;
return;
}
我在编写一个有关IP流量统计的小程序。在WIN7专业版,VS2010下使用上述代码,运行到WSASocket()后返回值就错了,调用LastError()错误代码是10013, 我查了下是Permition denied,但是我不知道为什么刚刚初始化的时候就有这毛病,我想进入WSASocket函数去debug,发现每次设置断点都跳不进去的。。特来请教,谢谢~~
PS:已经链接了Ws2_32.lib,#pragma comment(lib, "Ws2_32.lib")
#include<winsock2.h>
#include<ws2tcpip.h>
也已加入