gpt4 book ai didi

c++ - IO 完成端口和套接字 send()

转载 作者:可可西里 更新时间:2023-11-01 09:47:39 26 4
gpt4 key购买 nike

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

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

最佳答案

Based on my understanding so far of IOCP, when I create a completion port and associate a socket to it, a notification will be sent to the completion port when a socket is ready to be read.

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

如果是读取,您将获得缓冲区(指针),返回已加载的数据 - 您无需再次显式读取/复制它。

如果是写入,则数据已经消失并且您返回的缓冲区(指针)。可以自由删除/重新使用/重新合并/随便什么。

关于c++ - IO 完成端口和套接字 send(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28645872/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com