sendmsg返回值_sendmsg recvmsg函数

本文详细介绍了sendmsg(2)和recvmsg(2)函数在套接口I/O中的高级特性,包括函数参数、返回值、struct msghdr结构及其成员的详细解释,以及附属数据的处理。
摘要由CSDN通过智能技术生成

sendmsg(2)与recvmsg(2)函数

这些函数为程序提供了一些其他的套接口I/O接口所不具备的高级特性。下面的内容我们将会先来看一下sendmsg来介绍这些主题。然后将会完整的介绍recvmsg函数,因为他们的函数接口是相似的。接下来,将会描述msghdr的完整结构。

sendmsg(2)函数

现在是时候进入这个大同盟了。从概念上说,sendmsg函数是所有写入函数的基础,而他是从属于套接口的。下面的列表以复杂增加的顺序列出了所有与入函数。在每一个层次上,同时列出了所增加的特性。

函数        增加的特性

write        最简单的套接口写入函数

send        增加了flags标记

sendto        增加了套接口地址与套接口长度参数

writev        没有标记与套接口地址,但是具有分散写入的能力

sendmsg        增加标记,套接口地址与长度,分散写入以及附属数据的能力

sendmsg(2)函数原型如下:

#include

#include

int sendmsg(int s, const struct msghdr *msg, unsigned int flags);

函数参数描述如下:

要在其上发送消息的套接口s

信息头结构指针msg,这会控制函数调用的功能

可选的标记位参数flags。这与send或是sendto函数调用的标记参数相同。

函数的返回值为实际发送的字节数。否则,返回-1表明发生了错误,而errno表明错误原因。

recvmsg(2)函数

recvmsg是与sendmsg函数相对的函数

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值