网络通讯基础(8):accept函数

accept函数

1.什么是accept函数?作用是什么?

accept是一个常用于网络编程的函数,它的作用是使服务器端接受客户端的连接请求。当建立连接后,服务器端就可以和客户端进行收发数据。要想使用accept函数,需要包含如下头文件:

#include <sys/types.h>
#include <sys/socket.h>

2.accept函数定义

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

其中,sockdf代表已被绑定的socket 文件描述符;addr用于存储客户端的IP地址和端口号等信息;
addrlen用于存储地址结构的长度,即传入sizeof (addr) 。若执行成功,accept函数返回一个新的socket 文件描述符,失败返回-1。

3.举例

#include <sys/types.h>
#include <sys/socket.h>
int mian(void){
    struct sockaddr_in client;  #定义一个客户端的sockaddr_in结构体
    client_len=sizeof(client);  #求取地址结构的长度
    int sock=socket(AF_INET,SOCK_STREAM,0); #获取套接字的文件描述符,这里不懂可以看网络通讯基础(3)
    int client_sock=accept(sock,(struct sockaddr *)&client,&client_len);
}

值得注意的是,当服务器调用accept函数,若此时还没有客户端的连接请求,就会阻塞等待直到有客户端连接上来。

好了讲到这里,非常感谢各位观众老爷的观看,我们一起学习一起进步!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值