2 回答

TA貢獻(xiàn)1878條經(jīng)驗(yàn) 獲得超4個(gè)贊
bind的意義是將已經(jīng)建立的“空白的”socket綁定在網(wǎng)絡(luò)上讓大家在需要時(shí)能夠找得到。如果不是把socket綁定在自己的機(jī)器上,而是另外一臺機(jī)器,無法想象在實(shí)際中將如何運(yùn)作。我們先假設(shè)系統(tǒng)允許這么做,那么當(dāng)網(wǎng)絡(luò)上的其他用戶請求你的服務(wù)時(shí),他們找到的是另外那臺機(jī)器,但是那臺機(jī)器還是要設(shè)法連到你的本機(jī)上才能讓你的socket接受請求并提供服務(wù),但這豈不是多此一舉?
另外,使用bind并不需要去設(shè)定本機(jī)IP,只要將地址字段清零,系統(tǒng)就自動實(shí)現(xiàn)本機(jī)IP的綁定了。

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超8個(gè)贊
您好,是的。必須是本機(jī)存在的IP地址。另外人家設(shè)計(jì)這個(gè)函數(shù)的意圖是為了多IP的場景,真正的服務(wù)器上,可能存在著多個(gè)IP地址,您有可能只在某個(gè)指定IP地址上或者全部IP上提供服務(wù),這時(shí)候就需要您來設(shè)置了。
添加回答
舉報(bào)