亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于socket bind函數是否必須是本機的IP?這個該怎么理解?

關于socket bind函數是否必須是本機的IP?這個該怎么理解?

神不在的星期二 2021-10-13 14:11:27
比如我的機器是192.168.0.22,那么bind函數中的sockaddr.sinaddr是否可以不是192.168.0.22,當然也不是127.0.0.1什么的.能夠說明原理最好.謝謝
查看完整描述

2 回答

?
UYOU

TA貢獻1878條經驗 獲得超4個贊

bind的意義是將已經建立的“空白的”socket綁定在網絡上讓大家在需要時能夠找得到。如果不是把socket綁定在自己的機器上,而是另外一臺機器,無法想象在實際中將如何運作。我們先假設系統允許這么做,那么當網絡上的其他用戶請求你的服務時,他們找到的是另外那臺機器,但是那臺機器還是要設法連到你的本機上才能讓你的socket接受請求并提供服務,但這豈不是多此一舉?
另外,使用bind并不需要去設定本機IP,只要將地址字段清零,系統就自動實現本機IP的綁定了。

查看完整回答
反對 回復 2021-10-17
?
料青山看我應如是

TA貢獻1772條經驗 獲得超8個贊

您好,是的。必須是本機存在的IP地址。另外人家設計這個函數的意圖是為了多IP的場景,真正的服務器上,可能存在著多個IP地址,您有可能只在某個指定IP地址上或者全部IP上提供服務,這時候就需要您來設置了。

查看完整回答
反對 回復 2021-10-17
  • 2 回答
  • 0 關注
  • 736 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號