显然,ioctl()
的{{1}}的Winsock2等值,ioctlsocket()
和WSAIoctl()
不接受ifreq
结构作为参数,或者有一个明确的选项来附加socket到接口。我正在编写一个使用ISATAP隧道的p2p IM程序。我使用netsh来启用ISATAP隧道接口,但不知道如何向WSAIoctl()
发出命令以将套接字设置为IPv6 ISATAP Tunnel接口。
答案 0 :(得分:1)
不要忘记WinSock套接字可以通过bind()
绑定到特定接口,也可以通过setsockopt()
进行配置。例如,有ip_mreq
结构(为IP_ADD_MEMBERSHIP
和IP_DROP_MEMBERSHIP
套接字选项定义)和ip_mreq_source
结构(为IP_ADD_SOURCE_MEMBERSHIP
定义,{ {1}},IP_DROP_SOURCE_MEMBERSHIP
和IP_BLOCK_SOURCE
套接字选项),其中包含与接口相关的字段。