Sockets Bind Error

  • Thread starter Thread starter Παναγιώτης Φακίτσας
  • Start date Start date
Π

Παναγιώτης Φακίτσας

Guest
Hello there,


I have a client and a server socket.When I execute server it's all fine but when I execute client to respond at the same port I get an error bind #10048


let me show you the code until bind function from server file:


#define DEFAULT_BUFLEN 512

#define DEFAULT_PORT "9999"


int __cdecl main(void)

{

WSADATA wsaData;

int iResult;



SOCKET ListenSocket = INVALID_SOCKET;

SOCKET ClientSocket = INVALID_SOCKET;



struct addrinfo* result = NULL;

struct addrinfo hints;



int iSendResult;

char recvbuf[DEFAULT_BUFLEN];

int recvbuflen = DEFAULT_BUFLEN;



// Initialize Winsock

iResult = WSAStartup(MAKEWORD(2, 2), &wsaData);

if (iResult != 0) {

printf("WSAStartup failed with error: %d\n", iResult);

return 1;

}



ZeroMemory(&hints, sizeof(hints));

hints.ai_family = AF_INET;

hints.ai_socktype = SOCK_STREAM;

hints.ai_protocol = IPPROTO_TCP;

hints.ai_flags = AI_PASSIVE;



// Resolve the server address and port

iResult = getaddrinfo(NULL, DEFAULT_PORT, &hints, &result);

if (iResult != 0) {

printf("getaddrinfo failed with error: %d\n", iResult);

WSACleanup();

return 1;

}



// Create a SOCKET for connecting to server

ListenSocket = socket(result->ai_family, result->ai_socktype, result->ai_protocol);

if (ListenSocket == INVALID_SOCKET) {

printf("socket failed with error: %ld\n", WSAGetLastError());

freeaddrinfo(result);

WSACleanup();

return 1;

}



// Setup the TCP listening socket

iResult = bind(ListenSocket, result->ai_addr, (int)result->ai_addrlen);

if (iResult == SOCKET_ERROR) {

printf("bind failed with error: %d\n", WSAGetLastError());

freeaddrinfo(result);

closesocket(ListenSocket);

WSACleanup();

return 1;

}


could you please someone help me fixing this issue?

Continue reading...
 
Back
Top