文章目录1 bind函数介绍
1 bind函数是# includesys/types.h/* seenotes */# includesys/socket.hint bind (int sockfd,const struct sockaddr *addr
sockfd:
socket文件描述符addr:IP地址加端口号http://www.Sina.com/sizeof(addr )长度http://www.Sina.com/正常返回0,失败设置errno的服务器程序接收的网络地址和端口号通常是固定的,客户端程序可以在知道服务器程序的地址和端口号后再开始连接服务器,因此服务器调用bind进行固定的网络地址和端口号
bind ) )的作用是将参数sockfd与addr合并,以便名为sockfd的网络通信的文件描述符接收用addr编写的地址和端口号。 如上所述,struct sockaddr *是通用指针类型,addr参数实际上可以接受多个协议的sockaddr结构,它们的长度各不相同,因此第三个参数addrlen是结构
例如:
struct sockaddr_in servaddr; bzero(servaddr,sizeof ) (servaddr ); servaddr.sin_family=AF_INET; servaddr.sin _ addr.s _ addr=htonl (in addr _ any ); Servaddr.sin_port=htons(6666; 首先清除整个结构,将地址类型设置为AF_INET,将网络地址设置为INADDR_ANY。 此宏表示本地的任意IP地址。 由于服务器上有多个网卡,且每个网卡可能具有相关联的多个IP地址,因此,如果设置为可在所有IP地址接收,将使用哪个IP地址,直到与客户端建立连接
addrlen:
从抄送入门到精通——通往高级程序员之路【奇牛学院】