從Beej's Guide to Network programming使用AF_UNSPEC的缺點/風險是什麼?
您可以強制它使用IPv4或IPv6的ai_family領域,或將其作爲AF_UNSPEC使用什麼。這很酷,因爲你的代碼可以是IP版本不可知的。
正如標題所說 - 總是使用的,而不是指定IPv4或IPv6 AF_UNSPEC
,會有什麼缺點(或風險,如果有的話)?
或者這只是一個原因 - 如果指定了版本,這將保證只有這個版本被支持?
一點背景 - 我想在客戶端 - 服務器(C++)應用程序增加了對IPv6的支持,這兩個版本應該得到支持。所以我想知道是否可以使用AF_UNSPEC
或者最好從字符串中「識別」地址,並根據地址使用AF_INET6
或AF_INET
。
謝謝。我將其中一個標籤更改爲「unix」。所以,我的問題是關於Linux。我嘗試了'AF_UNSPEC',它似乎對兩個版本都很合適。我只是想知道我是否可以像這樣使用它,或者最好是處理幾個套接字。 –
看看http://stackoverflow.com/questions/8113805/usage-of-getaddrinfo-with-ai-passive。我寫了一個關於它的結論... – glglgl
啊,我現在看到了。我花了很多時間來理解你的意思:D我只是網絡編程的新手。感謝+1,並被接受(儘管這實際上並未回答標題中的問題,但幫助我清楚了我的想法:)) –