IO完成端口和套接字发送()

根据我对IOCP的理解,当我创build一个完成端口并将一个套接字关联到它时,当套接字准备好被读取时,通知将被发送到完成端口。

但是如何处理send() ,我的意思是如果我想发送数据,我应该只是调用send() ? 完成端口怎么样,它是否得到关于send()任何通知?

根据我对IOCP的理解,当我创建一个完成端口并将一个套接字关联到它时,当套接字准备好被读取时,通知将被发送到完成端口。

没有! IOCP机制的一个优点是可以将读/写请求和关联的缓冲区排队到内核,并使内核线程池在内核状态下执行IO操作。 这是一个I / O完成端口,即。 操作完成后会通知您。

如果它是一个读取,你得到你的缓冲区,(指针),回来的数据已经加载 – 你不必明确读/复制它。

如果是写入,数据已经消失了,并且返回的缓冲区(指针)。 是免费的删除/重用/再次/任何。