IO完成端口和套接字发送()
IO Completion Ports and socket send()
根据我目前对IOCP的理解,当我创建一个完成端口并将套接字与之关联时,当套接字准备好读取时,会向完成端口发送通知。
但是send()
是如何处理的,我的意思是,如果我想发送数据,我应该只调用send()
吗?那么完成端口呢?它收到关于send()
的通知了吗?
根据我目前对IOCP的理解,当我创建一个完成端口并将套接字与之关联,则会向套接字准备好读取时的完成端口。
不!IOCP机制的一个优点是,您可以将带有相关缓冲区的读/写请求排队到内核,并让内核线程池在内核状态下执行IO操作。这是一个I/O完成端口,即操作完成后会通知您。
如果是读取,则会将已加载的数据返回到缓冲区(指针),而不必再次显式读取/复制它。
如果是写操作,则数据已经消失,返回的缓冲区(指针)。可以自由删除/重复使用/重新填充/其他任何内容。
相关文章:
- 当套接字连接断开时检测C/C++Unix
- 通过套接字[TCP]传输数据 如何在C / C ++中打包多个整数并使用send() recv()传输数据
- 如何通过套接字将文本文件的内容从服务器发送到客户端
- 如何在C/C++中用FD_set Unix设置套接字文件描述符
- 套接字读取后,我在缓冲区中看到意外输入
- 如何在CPP中创建应该在Windows和Linux上运行的套接字?
- 我可以与 python 服务器而不是 c++ 客户端建立 tcp/ip 套接字吗?
- 套接字连接"Operation not permitted"错误,甚至使用升压/平发器根.cpp
- WINAPI 注册应用程序重新启动时不清除打开的套接字
- (Winsock) UDP 接收工作正常,但同一套接字的发送失败
- MSG_WAITALL的套接字发送得到了 22 EINVAL
- C++套接字客户端到 Python 服务器未创建连接
- 使用 Broadcast 发出的从节点服务器发送的数据不能被 C++ 套接字 IO 客户端读取
- 为什么我在蓝牙连接()上收到"java.io.IOException:读取失败,套接字可能关闭或超时,读取re
- 哪些 IO 操作会导致在使用套接字时将完成数据包发送到完成端口
- IO完成端口和套接字发送()
- IO完成端口和套接字WSARecv()
- 为什么在读取非HTTP服务器的套接字时需要异步IO
- 处理一个套接字和多个线程时异步 IO 的用例
- 连接到套接字.IO服务器从c++应用程序