bind() fails with windows socket error 10049
bind, c, sockets, windows
Solution
This normally results from an attempt to bind to an address that is not valid for the local computer..
You should use `PF_INET` here instead of `AF_INET`. They have the same value, but you're not specifying an address family `AF` here, you're specifying a protocol family `PF`. This is just a style recommendation.
I would suggest to `memset` zero the below arrays,structures:
struct sockaddr_in6 server, client;
SOCKET sock;
char buffer[BUFFERSIZE];
LPTSTR recvBuff[1024];
Problem
I try to make a client/server program in C with IPv6 and UDP. When the program binds the socket it return the WSAError 10049. I know that this is a problem with the adress name but don't see whats the problem. I hope someone can help. ``` struct sockaddr_in6 server, client; SOCKET sock; char buffer[BUFFERSIZE]; LPTSTR recvBuff[1024]; DWORD recvBuffLen = 1024UL; int len = sizeof(client); WORD wVersionRequested; WSADATA wsaData; wVersionRequested = MAKEWORD(1,1); WSAStartup(wVersionRequested, &wsaData); sock = socket(AF_INET6, SOCK_DGRAM, 0); if (sock < 0) error("Fehler beim Anlegen des Sockets"); server.sin6_family = AF_INET6; server.sin6_port = htons(6000); server.sin6_addr = in6addr_any; if (bind(sock, (struct sockaddr *) &server, sizeof(server)) == -1) error("Fehler beim binden des Sockets"); ```