[Dev-C++] How to use WSAGetLastError?
Open Source C & C++ IDE for Windows
Brought to you by:
claplace
|
From: Vlada D. <dj...@im...> - 2003-01-27 12:42:47
|
Hi.
I'm trying to create a WinSock app. I created a socket, but bind() returns
an error, so I tried WSAGetLastError to get error code. Here's the code:
case ID_SOCK_OPEN:
{
OpenSocket(PORT);//in this function I create socket
int error=WSAGetLastError();
char buffer[100];
itoa(error,buffer,2);
MessageBox(NULL,buffer,"Error Code",MB_OK);
}
break;
In message box I get 0, so I suppose something is wrong about this. Can
anybode tell me better way to get error code?
Another question: Here's the code for OpenSocket function. Can somebody
figure out why call to bind() fails?
BOOL OpenSocket(int port)
{
if(sock=socket(AF_INET,SOCK_STREAM,0)==-1)
{
MessageBox(NULL,"Could not create
socket","Error",MB_OK|MB_ICONSTOP);
return FALSE;
}
server.sin_family=AF_INET;
server.sin_port=htons(port);
server.sin_addr.s_addr=INADDR_ANY;
if(bind(sock,(struct sockaddr*)&server,sizeof(struct sockaddr))==-1)
{
MessageBox(NULL,"Bind error","Error",MB_OK|MB_ICONSTOP);
return FALSE;
}
if(listen(sock,3)==-1)
{
MessageBox(NULL,"Listen error","Error",MB_OK|MB_ICONSTOP);
return FALSE;
}
else
{
MessageBox(NULL,"Socket opened","Success",MB_OK);
return TRUE;
}
}
Thanks in advance.
------------
Vlada
|