Dotcpp  >  编程教程  >  TCP协议服务端及代码实现  >  Socket编程之accept函数

Socket编程之accept函数

点击打开在线编译器,边学边练

在listen监听到有新客户端时,就可以用accept函数响应客户的连接请求,建立与客户端的连接。产生一个新的socket描述符来描述该连接,这个连接用来与发起该连接请求的客户交换数据。

函数功能:

接收客户端连接请求

头文件:

#include <winsock2.h>

函数原型:

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

返回值类型:

整型

返回值:

成功返回非负值,失败返回-1

参数说明:

sockfd为建立socket函数返回的值。

addr为 sockaddr 结构体变量的指针,这个参数是指针类型,是向外传内容的,即addr将在函数调用后填入对方(客户端)的地址信息,如对方的IP、端口等。

addrlen为 addr变量的大小,可由 sizeof() 计算得出。                                        

调用accept函数整体代码的实现:

struct sockaddr_in clientaddr//创建客户端地址结构体

int aID;//用来接收accept函数返回值

aID=accept(sockfd,(sockaddr*)&clientaddr,&sizeof( clientaddr));//等待接收客户连接请求



本文固定URL:https://www.dotcpp.com/course/779

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)