网络编程中的scatter/gather I/O(发散/聚合IO)

asio中支持scatter/gather I/O操作,于是就想知道它是否真正的节省了底层系统调用。直接搜asio相关实现的介绍,没找到。自己也没时间翻代码。于是猜应该是系统支持相关API,于是搜 socket scatter/gather I/O,马上就找到了维基百科,还有一篇csdn博客。

Vectored I/O
分散/聚集IO(scatter/gather)及iovec结构体

有API示例代码,示例中是linux代码,在windows平台也有类似API。

原来人家还叫“ Vectored I/O”
核心读写函数可以接受多个数组,由操作系统提供。这样在发送多个小数据包时,可以降低系统调用次数,或者减少数据拷贝次数。

发表评论

电子邮件地址不会被公开。 必填项已用*标注