完成端口方面得问题,希望有经验得朋友可以给个指导
我使用完成端口处理客户端接收数据得时候,只接收不发送,一切数据都是正常得。
但是,当我加入发送得功能得时候,这时如果接收得缓冲区小于发送文件得长度,我接收得数据就是不正常得(乱吗,但是接收得数据长度是正确得),不知你们有没有碰到这种情况?
struct ClientContext
{
CRITICAL_SECTION SockCritSec;
SOCKET m_Socket;
char m_strAddr[20];
// Store buffers
CBuffer m_ReadBuffer;
CBuffer m_WriteBuffer;
// Input Elements for Winsock
WSABUF m_wsaInBuffer;
BYTE m_byInBuffer[4194304
// Output elements for Winsock
WSABUF m_wsaOutBuffer;
BYTE m_byOutBuffer[64];
HANDLE m_hWriteComplete;
ClientContext* m_pWriteContext;
ClientContext* m_pReadContext;
};
这是我定义得用于代表连接节点得数据体