网络通讯基础(6):bind函数

bind函数

1.什么是bind函数?功能是什么?

在网络通信中,服务器程序所监听的网络地址和端口号通常是固定不变的,就比如百度的网络地址是:http://www.baidu.com。当容户端需要连接服务器时,需要使用 bind 函数将套接字(socket)绑定到该服务器的IP地址和端口号上,使得套接字这个用于网络通讯的文件描述符可以监听服务器的地址和端口号。

 要使用bind函数,需要包含头文件:

#include <sys/types. h>

2.定义

int bind (int sockfd, const struct sockaddr *addr, socklen_t addrlen);

其中sockfd代表套接字的文件描述符,即socket函数的返回值,如果这里大家觉得不理解,可以看我的上一篇文章;const struct sockaddr *myaddr是一结构体,包含需要绑定的IP地址和端口号,这个结构体在https://blog.csdn.net/shnhe/article/details/135171030?spm=1001.2014.3001.5501有详细介绍;addrlen是addrd的地址长度。此函数若成功返回0,失败则返回-1

3.举例

#include <sys/types. h)
#include <sys/socket. h>
int main(void){
    struct sockaddr_in servaddr;
    int sock=socket(AF_INET,SOCK_STREAM,0); #获取套接字的文件描述符,这里不懂可以看我的上一篇文章
    servaddr.sin_family = AF_INET;  #使用IPV4协议
    servaddr.sin_addr.s_addr = htonl (INADDR_ANY); #定义IP地址,这里不明白请看网络编程基础(3)
    servaddr.sin_port = htons (666); #定义端口号
    bind(sock,(struct sockaddr *)&servaddr, sizeof(servaddr));  #使用bind函数将套接字绑定到服务器的IP地址和端口号上,(struct sockaddr *)&servaddr这个强制转换不懂得可以看网络编程基础(3)
}

上面展示的代码就是bind函数的一个简单使用过程,每一个代码段代表的意思都已注释,若有哪里表达的不清楚,欢迎大家提出,最后感谢的观看!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值