linux網路程式設計中INADDR ANY的含義

2021-08-20 16:36:55 字數 493 閱讀 2531

inaddr_any選項

網路程式設計中常用到bind函式,需要繫結ip位址,這時可以設定inaddr_any

inaddr_any就是指定位址為0.0.0.0的位址,這個位址事實上表示不確定位址,或「所有位址」、「任意位址」。也就是表示本機的所有ip,因為有些機子不止一塊網絡卡,多網絡卡的情況下,這個就表示所有網絡卡ip位址的意思。

比如一台電腦有3塊網絡卡,分別連線三個網路,那麼這台電腦就有3個ip位址了,如果某個應用程式需要監聽某個埠,那他要監聽哪個網絡卡位址的埠呢?如果繫結某個具體的ip位址,你只能監聽你所設定的ip位址所在的網絡卡的埠,其它兩塊網絡卡無法監聽埠,如果我需要三個網絡卡都監聽,那就需要繫結3個ip,也就等於需要管理3個套接字進行資料交換,這樣豈不是很繁瑣?

所以你只需繫結inaddr_any,管理乙個套接字就行,不管資料是從哪個網絡卡過來的,只要是繫結的埠號過來的資料,都可以接收到。

當然, 客戶端connect時,不能使用inaddr_any選項。必須指明要連線哪個伺服器ip。

linux網路程式設計中INADDR ANY的含義

inaddr any 選項網路程式設計中常用到bind函式,需要繫結ip位址,這時可以設定inaddr any inaddr any就是指定位址為0.0.0.0的位址,這個位址事實上表示不確定位址,或 所有位址 任意位址 也就是表示本機的所有ip,因為有些機子不止一塊網絡卡,多網絡卡的情況下,這個就...

Linux網路程式設計

linux網路程式設計 當然,我們現在,將要開始編寫的第乙個網路程式,雖然非常簡單,但是卻可以很 清楚的說明大部分編寫網路程式需要的基本概念,好了先讓我們看看網路程式的tcp服 務器端的編寫步驟 1.和伺服器的步驟一樣。2.通過設定套介面位址結構,我們說明,客戶端要與之通訊的伺服器的ip位址和 埠。...

linux 網路程式設計

當然,我們現在,將要開始編寫的第乙個網路程式,雖然非常簡單,但是卻可以很 清楚的說明大部分編寫網路程式需要的基本概念,好了先讓我們看看網路程式的tcp服 務器端的編寫步驟 現在讓我們來看看網路程式客戶端的程式設計步驟 以上的步驟,是比較普遍的,我們可以從中看出,編寫網路程式是很有意思的,同 時,也不...