SOCKET s;
WORD wVersionRequested;
WSADATA wsa;
wVersionRequested = MAKEWORD( 2, 2 );
int res = WSAStartup(wVersionRequested,&wsa);
if(res == -1)
{
return_char="1001";
return s;
}
struct sockaddr_in socket_in;
s = WSASocket(AF_INET,SOCK_STREAM,0,NULL,0,0);
if(s == INVALID_SOCKET)
{
return_char="1002";
return s;
}
socket_in.sin_family = AF_INET;
socket_in.sin_port = htons(5555);
socket_in.sin_addr.S_un.S_addr = inet_addr(cs_serip);
int con_res = connect(s,(struct sockaddr*)&socket_in,sizeof(socket_in));
if(con_res == SOCKET_ERROR)
{
//失败
return_char="1003";
closesocket(s);
WSACleanup();
return s;
}
.............................这个DLL里面的socket初始化代码
当我for 几千次的时候,会出return_char="1002"错误,及s = WSASocket(AF_INET,SOCK_STREAM,0,NULL,0,0);失败,求解决方法
WORD wVersionRequested;
WSADATA wsa;
wVersionRequested = MAKEWORD( 2, 2 );
int res = WSAStartup(wVersionRequested,&wsa);
if(res == -1)
{
return_char="1001";
return s;
}
struct sockaddr_in socket_in;
s = WSASocket(AF_INET,SOCK_STREAM,0,NULL,0,0);
if(s == INVALID_SOCKET)
{
return_char="1002";
return s;
}
socket_in.sin_family = AF_INET;
socket_in.sin_port = htons(5555);
socket_in.sin_addr.S_un.S_addr = inet_addr(cs_serip);
int con_res = connect(s,(struct sockaddr*)&socket_in,sizeof(socket_in));
if(con_res == SOCKET_ERROR)
{
//失败
return_char="1003";
closesocket(s);
WSACleanup();
return s;
}
.............................这个DLL里面的socket初始化代码
当我for 几千次的时候,会出return_char="1002"错误,及s = WSASocket(AF_INET,SOCK_STREAM,0,NULL,0,0);失败,求解决方法
line1:
con_res = connect(s,(struct sockaddr*)&socket_in,sizeof(socket_in));
if(con_res == SOCKET_ERROR)
{
CString ccc;
DWORD ldrerrid=GetLastError();
if (ldrerrid==10048)
{
Sleep(1000);
iiercut++;
if (iiercut>3)
{
}
else
{
goto line1;
}
}
ccc.Format("con[%d]:%d",iiercut,ldrerrid);
return_char=ccc.GetBuffer(ccc.GetLength());//="1002";
closesocket(s);
WSACleanup();
return s;
}高人指点