WSASocket() 创建的套接字返回0x00000, 为什么会这样?
WSADATA wsd;
struct sockaddr_in local;
int len= sizeof (struct sockaddr_in), optval;
DWORD i=0;
unsigned short iPort=25000;
DWORD dwMulticastGroup=inet_addr("234.5.6.7");
//开始初始化
if (WSAStartup(MAKEWORD(2,2), &wsd)!=0)
return false;
//创建一个套接字
if ((sock= WSASocket( AF_INET,
SOCK_DGRAM,
0,
NULL,
0,
WSA_FLAG_OVERLAPPED| WSA_FLAG_MULTIPOINT_C_LEAF| WSA_FLAG_MULTIPOINT_D_LEAF )
==INVALID_SOCKET))
{
WSACleanup();
return false;
}
local.sin_family= AF_INET;
local.sin_port= htons(iPort);
local.sin_addr.s_addr= htonl (INADDR_ANY);
if (bind(sock, (struct sockaddr *)&local, sizeof(local))== SOCKET_ERROR)
{
closesocket(sock);
WSACleanup();
return false;
}
请问错在哪里?