0
我正在開發雙棧客戶機 - 服務器通信。而且我珍玩: 我一定要開兩個插座 - 一個用於IPv4和一個IPv6,或有打開一個套接字對IPv6的選項,這將是能夠與IPv4和IPv6的連接工作? 例如,如果我開這樣的插座:具有一個插槽的雙堆棧
SOCKET sock = socket(AF_INET6, SOCK_STREAM, 0);
,然後調用
int mode = 0;
setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, (char*)&mode, sizeof(mode));
難道接受IPv4和IPv6連接?如果它能接受它,我是否應該修改後續調用,定義套接字家族,然後根據該家族進行操作? 是這樣的:在提前
if (addr->ss_family == AF_INET)
{
}
else if (addr->ss_family == AF_INET6)
{
}
感謝。
更快的谷歌IPV6_V6ONLY似乎將其設置爲只接受v6。 – dutt
通過傳遞模式爲0,您關閉該選項 –
可能重複的[套接字偵聽器的IPv6和IPv4](http://stackoverflow.com/questions/20657650/socket-listener-for-ipv6-and-ipv4) –