我好像没分,抱歉啊,各位。#define opcode_recv 1
#define opcode_send 2struct Client
{
     //其他省略
     int nOpcode;
};在客户连接上之后,我要对这个客户投递wsarecv操作,
接收到这个客户的数据后,我还要投递wsarecv操作,
这个很好理解,不停等待数据到来嘛。但是,在我投递完wsarecv操作后,数据没有到来,
这时候,我要发送数据,此时的Client.nOpcode = opcode_recv;我投递完wsasend操作后,Client.nOpcode = opcode_send;
此时客户端数据来了,该怎么理解啊,是不是wsarecv的数据,会把buf给覆盖,但在worker线程中,Client.nOpcode 又等于 opcode_send,
把收到的数据又发给客户了,还是此时收到的数据被放在了系统的缓冲中,在投递完wsasend后,GetQueuedCompletionStatus中不会响应wsarecv,
要等到wsasend结束后,人为的再次投递wsarecv后,GetQueuedCompletionStatus才会对刚刚收到的数据进行响应?谢谢各位,此问题让我很是费解。