我正在开发管理一个套接字的客户端应用程序。我正在使用IOCP来管理异步I/O。
这是从网络编程书中引用的:
那么我应该如何处理这个案件呢?
最佳答案
最简单的解决方案是,进行多个读写操作。因此,如果通知完成,则很明显,所有数据都已写入套接字。如果在等待IO完成时需要将更多数据写入套接字,则只需在IO完成时缓冲该数据并将其写入即可。
如果套接字有多个未完成的IO,则必须在读取侧订购它们。在写方面,您必须做一些记账工作才能知道哪个写是最后一次写,以及什么时候完全写了数据。
另一方面,仅将数据成功写入套接字并不意味着在另一侧已正确接收或处理了数据,因此必须有某种协议(protocol)。如果是这样,您可以仅依靠该协议(protocol)并简单地查找错误通知。
关于c++ - 如何处理在同一套接字上发布多个操作的情况,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11670491/