我尝试使用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,但值得一试) –