我正在尝试建立一个带有两台windows-7机器的专用ipv6网络,用于测试我的应用程序。我编写了一个示例代码来测试套接字apis。我创建了一个IPv6套接字。当我试图绑定链接本地地址(从ipconfig命令获得)时,错误代码是10049。
请告知,为什么Ipv6地址绑定在windows-7机器上失败?
发布于 2011-06-18 23:40:51
如果使用链接本地IPv6地址,则可能需要在sockaddr_in6结构中设置sin6_scope_id字段,以指示要侦听哪个接口。链接本地地址是不明确的,因为每个接口都必须分配一个链接本地地址。,而且它们都使用相同的前缀.(fe80::/64)
您可能应该bind()您的侦听套接字到未指定的地址(所有-零或::),因此这不是一个问题,但它仍将是一个问题的发送端。如果不指定sin6_scope_id,系统将不知道要在哪个接口上发送数据包。
为了避免这个问题,最好设置一个执行IPv6的路由器广告路由器,这样您就可以获得全球单播 (或者,至少是独特的局部)地址。
https://stackoverflow.com/questions/6027401
复制相似问题