C语言socket bind()函数(为socket套接字关联了一个相应的地址与端口号)
bind()函數(shù)功能
將address指向的sockaddr結(jié)構(gòu)體中描述的一些屬性(IP地址、端口號、地址簇)與socket套接字綁定,也叫給套接字命名。
調(diào)用bind()后,就為socket套接字關(guān)聯(lián)了一個相應(yīng)的地址與端口號,即發(fā)送到地址值該端口的數(shù)據(jù)可通過socket讀取和使用。當然也可通過該socket發(fā)送數(shù)據(jù)到指定目的。
對于Server,bind()是必須要做的事情,服務(wù)器啟動時需要綁定指定的端口來提供服務(wù)(以便于客戶向指定的端口發(fā)送請求),對于服務(wù)器socket綁定地址,一般而言將IP地址賦值為INADDR_ANY(該宏值為0),即無論發(fā)送到系統(tǒng)中的哪個IP地址(當服務(wù)器有多張網(wǎng)卡時會有多個IP地址)的請求都采用該socket來處理,而無需指定固定IP。
對于Client,一般而言無需主動調(diào)用bind(),一切由操作系統(tǒng)來完成。在發(fā)送數(shù)據(jù)前,操作系統(tǒng)會為套接字隨機分配一個可用的端口,同時將該套接字和本地地址信息綁定。
參考文章:socket編程bind()函數(shù)
總結(jié)
以上是生活随笔為你收集整理的C语言socket bind()函数(为socket套接字关联了一个相应的地址与端口号)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言socket getsockopt
- 下一篇: 无线路由器发起ARP攻击,致使网络中断,