none
win7下 vs2010有关WSASocket求助 RRS feed

  • 问题

  • // 初始化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>

    也已加入

    2011年1月23日 13:29

答案