Linux下Socket编程学习(二)

本文深入解析socket函数的使用,包括如何创建套接字、将其用于监听进入的连接以及如何接受连接。重点阐述了socket函数的参数意义、返回值解释及listen和accept函数的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值