socket函数
包头文件<sys/socket.h>
创建一个套接字用于通信
int socket(int domain,int type,int protocol);
domain:指定通信协议族
type:指定socket类型,流失套接字SOCK_STREAM 数据报套接字SOCK_DGRAM 原始套接字SOCK_RAW
protocol:协议类型
返回值:成功返回非负整数,它与文件描述符类似,失败返回-1
listen(int sockfd,int backlog)
包头文件<sys/socket.h>
将套接字用于监听进入的连接
参数
sockfd :socket函数返回的套接字
backlog:规定内核为此套接字排队的最大连接个数(包含已完成连接队列和未完成的连接队列)
返回值 成功返回0 失败返回-1
listen函数应该在调用socket和bind函数之后,调用函数accept之前调用。会将主动套接字编程被动套接字
主动套接字:用户发起连接 调用connect来发起连接
被动套接字:接收连接 调用accept函数来接收连接
int accept(int sockfd,struct sockaddr *addr, socklen_t* addrlen);
功能:从已完成连接队列返回一个连接,如果已完成连接队列为空,则阻塞
sockfd:服务器套接字
addr:将返回对等放的套接字地址
addrlen:返回对等方的套接字长度
返回值:成功返回非负整数,失败返回-1