ipv6套接字绑定错误,求大神......
#include<stdio.h>
#include<winsock2.h>
#include<ws2tcpip.h>
//在编译采用了WINSOCK2.H的应用程序时,需要链接到WS2_32.LIB库
#pragma comment(lib, "WS2_32.LIB")
int main(int argc, char* argv[])
{
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD(1, 1);
err = WSAStartup(wVersionRequested, &wsaData);
if (err != 0) {
printf("WSAStartup failed.\n");
system("pause");
return -1;
}
if (LOBYTE(wsaData.wVersion) != 1||
HIBYTE(wsaData.wVersion) != 1) {
WSACleanup();
printf("LOBYTE or HIBYTE failed.\n");
system("pause");
return -2;
}
//创建套接字//
addrinfo hints;
addrinfo *res;
memset(&hints, 0, sizeof(hints));
hints.ai_family=AF_INET6;
//hints.ai_family = PF_INET6;
hints.ai_socktype = SOCK_DGRAM;
hints.ai_protocol = IPPROTO_UDP;
hints.ai_flags = AI_NUMERICHOST;
getaddrinfo("fe80::706d:5cb0:fcac:7141", "7999", &hints, &res);
//getaddrinfo(NULL, "8700", &hints, &res);
SOCKET s;
s = socket(res->ai_family, res->ai_socktype, res->ai_protocol);
if(s == INVALID_SOCKET)
{
WSACleanup();
printf("Create socket failed.\n");
system("pause");
return -3;
}
//绑定套接口
err = bind(s, res->ai_addr, res->ai_addrlen);
if(err == SOCKET_ERROR)
{
WSACleanup();
printf("Bind socket failed.\n");
system("pause");
return -4;
}
//发送消息
char buf[]="Hello, my name is zhcosin.";
err = sendto(s, buf, strlen(buf), 0, res->ai_addr, res->ai_addrlen);
if(err == SOCKET_ERROR)
{
WSACleanup();
printf("Send failed.\n");
system("pause");
return -5;
}
closesocket(s);
system("pause");
}
编译没问题,运行的时候进入到了套接字绑定错误处理的那部分代码了,求帮助啊
运行输出如下:
Bind socket failed.
Press any key to continue......
...全文
相关推荐
ipv6套接字编程ppt
最后,当通信完成后,需要关闭套接字以释放资源。此外,IPv6套接字编程还涉及到错误处理、套接字选项设置、多路复用和非阻塞I/O等高级话题。
IPV4和IPV6兼容的socket编程(原著)
**IPv6服务器端与客户端**: - 服务器端需要创建并绑定到一个监听套接字,然后使用`accept()`等待客户端连接。对于IPv6,需要使用`sockaddr_in6`结构体。
IPV6测试,实现IPV6的套接口编程
**绑定套接字**:使用`bind()`函数将套接字与本地IPv6地址和端口关联。
C++ IPV6 SOCKET通信实例
= 0) { // 错误处理 }}```然后创建一个IPV6套接字,设置其属性并绑定到特定的IPV6地址和端口:```cppSOCKET serverSocket = socket(AF_INET6,
IPV6 TCP的WinSocket实现。
**绑定套接字**:通过`bind`函数将套接字与IPv6地址和端口号关联。在IPv6中,地址通常以冒号分隔的16进制数字形式表示,如“::1”代表本地环回地址。4.


