C语言socket bind()函数(为socket套接字关联了一个相应的地址与端口号)
生活随笔
收集整理的這篇文章主要介紹了
C语言socket bind()函数(为socket套接字关联了一个相应的地址与端口号)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include <sys/socket.h>int bind(int socket, const struct sockaddr *address, socklen_t address_len);
bind()函數功能
將address指向的sockaddr結構體中描述的一些屬性(IP地址、端口號、地址簇)與socket套接字綁定,也叫給套接字命名。
調用bind()后,就為socket套接字關聯了一個相應的地址與端口號,即發送到地址值該端口的數據可通過socket讀取和使用。當然也可通過該socket發送數據到指定目的。
對于Server,bind()是必須要做的事情,服務器啟動時需要綁定指定的端口來提供服務(以便于客戶向指定的端口發送請求),對于服務器socket綁定地址,一般而言將IP地址賦值為INADDR_ANY(該宏值為0),即無論發送到系統中的哪個IP地址(當服務器有多張網卡時會有多個IP地址)的請求都采用該socket來處理,而無需指定固定IP。
對于Client,一般而言無需主動調用bind(),一切由操作系統來完成。在發送數據前,操作系統會為套接字隨機分配一個可用的端口,同時將該套接字和本地地址信息綁定。
參考文章:socket編程bind()函數
總結
以上是生活随笔為你收集整理的C语言socket bind()函数(为socket套接字关联了一个相应的地址与端口号)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言socket getsockopt
- 下一篇: 无线路由器发起ARP攻击,致使网络中断,