前几天偶尔收到一个朋友的求救,要编写一个IPV6的socket编程
开始以为这个问题很容易,因为socket已经兼容IPV4和IPV6的,改下那几个接口就可以了
然后….被卡住了…....修改了参数为IPV6的参数以后,在bind的时候始终包10049错误.
按照MSDN的说法,10049的意思表示找不到那个IP....但是我服务器端bind监听的socket的时候,是不应该出这个问题的…
遍历无果,只能通过检视代码来找可能的错误....AF_INET6,DEFAULT_IP,&addr.sin6_addr);
addr.sin6_port=htons(8000);
int ret=0;
int error=0;
ret=bind...的配置错误,唯一一个可能的地方
定义sockaddr_in6 结构体的时候没有初始化…
因此加了一句 memset(&addr, 0, sizeof(addr));
重新试了下,bind成功…
这个事情告诉我们