我嘗試使用IPv6和UDP在C中創建客戶端/服務器程序。當程序綁定套接字時,它將返回WSAError 10049.我知道這是地址名稱的問題,但沒有看到問題。我希望有人能幫幫忙。綁定()失敗,並與Windows套接字錯誤10049
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");
什麼是「PORT」? –
是的,它已被定義,我將代碼更改爲實際值 –
根據許多Linux教程,您必須用'memset'sockaddr_in6'爲零。 (我知道這是Windows,但值得一試) –