Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如您所知,WSASend-completion-WSASend-...(repeat) 保证按顺序发送数据。但是,听说 WSASend-WSASend-WSASend-completion-completion-completion 也保证按顺序发送数据,虽然完成的顺序没有。是对的吗?
请回复。提前致谢。
裴贤治
如果一次有多个请求排队,它们的数据按照排队的顺序发送,它们的完成例程也按照相同的顺序排队。直到第一次发送完成后才会发生第二次发送,第二次发送完成后才会发生第三次发送,等等。但是,如果您有多个线程处理完成,则可以并行处理完成,这可以退出顺序取决于上下文切换等。这就是为什么您需要将一个标识值与每个待处理的请求相关联,这样您就可以将其与其完成相匹配,而不管顺序如何,并且不会有多个请求待处理以发送同一资源的部分。