int send(int s, const void *msg, size_t len, int flags);
flags取值有:
0: 与write()无异
MSG_DONTROUTE:告诉内核,目标主机在本地网络,不用查路由表
MSG_DONTWAIT:将单个I/O操作设置为非阻塞模式
MSG_OOB:指明发送的是带外信息
int recv(int s, void *buf, size_t len, int flags);
flags取值有:
0:常规操作,与read()相同
MSG_DONTWAIT:将单个I/O操作设置为非阻塞模式
MSG_OOB:指明发送的是带外信息
MSG_PEEK:可以查看可读的信息,在接收数据后不会将这些数据丢失
MSG_WAITALL:通知内核直到读到请求的数据字节数时,才返回。
int recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlen);
flags取值有:
0:常规操作,与read()相同
MSG_OOB:指明发送的是带外信息
MSG_PEEK:可以查看可读的信息,在接收数据后不会将这些数据丢失
linux socket中 send recv函数的 flags参数
最新推荐文章于 2025-10-17 09:54:25 发布
博客介绍了send、recv和recvfrom三个函数。send函数用于发送数据,其flags参数有0、MSG_DONTROUTE等取值;recv函数用于接收数据,flags参数有0、MSG_DONTWAIT等取值;recvfrom函数也用于接收数据,flags参数有0、MSG_OOB等取值,并对各取值含义做了说明。
2864

被折叠的 条评论
为什么被折叠?



