创建套接字函数返回-1

Eul*_*ler 2 c++ sockets udp winsock visual-studio-2010

我是socket编程的新手.我试图创建一个UDP套接字,但该socket()函数返回-1

signed long int sockfd;
sockfd=socket(AF_INET, SOCK_DGRAM, 0);       //socket Function returns -1 Value
Run Code Online (Sandbox Code Playgroud)

你能告诉我这个套接字函数何时返回-1值?

Ulr*_*rdt 5

Call WSAGetLastError() to find out more about the error. I guess you didn't call WSAStartup().

也就是说,有一个SOCKET类型,您应该使用它而不是"signed long int",而是与INVALID_SOCKET进行比较.这些是WinSock和BSD套接字API之间的细微差别.如有疑问,请务必查看Microsoft的文档.