18,356
社区成员
发帖
与我相关
我的任务
分享
void ClientContext::PostSend ( LPBYTE lpData, UINT nSize )
{ OVERLAPPEDPLUS * pOverlap = new OVERLAPPEDPLUS(IOWrite);
ULONG ulFlags = MSG_PARTIAL;
m_WriteBuffer.Write((PBYTE)&nSize, sizeof(nSize));
m_WriteBuffer.Write(lpData, nSize);
m_wsaOutBuffer.buf = (char*) m_WriteBuffer.GetBuffer(); //注意:这里是成员变量
m_wsaOutBuffer.len = m_WriteBuffer.GetBufferLen();
int nRetVal = WSASend( m_Socket, &m_wsaOutBuffer,1,&m_wsaOutBuffer.len,ulFlags,&pOverlap->m_ol,NULL);
}
void ClientContext::PostSend ( LPBYTE lpData, UINT nSize )
{ OVERLAPPEDPLUS * pOverlap = new OVERLAPPEDPLUS(IOWrite);
WSABUF sndBuf;
ULONG ulFlags = MSG_PARTIAL;
m_WriteBuffer.Write((PBYTE)&nSize, sizeof(nSize));
m_WriteBuffer.Write(lpData, nSize);
sndBuf.buf = (char*) m_WriteBuffer.GetBuffer(); //注意:这里是局部变量
sndBuf.len = m_WriteBuffer.GetBufferLen();
int nRetVal = WSASend( m_Socket, &m_wsaOutBuffer,1,&m_wsaOutBuffer.len,ulFlags,&pOverlap->m_ol,NULL);
}