RT:socket中bind函數綁定的IP是什么,是不是想與那個主機通信就綁定該主機的IP地址?求解答!或者綁定的是自己本機的IP? 到底是那樣?糾結死!
3 回答

GCT1015
TA貢獻1827條經驗 獲得超4個贊
INADDR_ANY 實際上的值是0; 這個表示 內核會根據進程運行,自己選舉一個臨時的ip 地址。
和你指定一個ip地址是相同的。只不過,使用INADDR_ANY,這個ip地址是內核自己選舉出來的。

蝴蝶刀刀
TA貢獻1801條經驗 獲得超8個贊
bind是服務端調用的函數,綁定的是服務端的IP,假設服務端有多個網卡,即會有多個IP,這個時候我們可以選擇用bind綁定其中一個IP,那么服務端只接收該IP上某端口的數據。
如果bind綁定的是INADDR_ANY,即表示所有發送到服務器的這個端口,不管是哪個網卡/哪個IP地址接收到的數據,都由這個服務端進程進行處理。

哆啦的時光機
TA貢獻1779條經驗 獲得超6個贊
所謂bind,就是指綁定本地接受端口。
指定ip,是為了分辨多ip主機。
bind是服務端調用的函數,綁定的是服務端的IP,假設服務端有多個網卡,即會有多個IP,這個時候我們可以選擇用bind綁定其中一個IP,那么服務端只接收該IP上某端口的數據。
如果bind綁定的是INADDR_ANY,即表示所有發送到服務器的這個端口,不管是哪個網卡/哪個IP地址接收到的數據,都由這個服務端進程進行處理。
- 3 回答
- 0 關注
- 419 瀏覽
添加回答
舉報
0/150
提交
取消