Quote:
int nfRet = SockConnection.Send((char*)&command_header,
sizeof(command_header));
nfRet = SockConnection.Send(command_header.iDataBuffer,
sizeof(command_header.iDataBuffer));
The above calls don't make sense.
On my system
sizeof(command_header)=8
sizeof(command_header.iDataBuffer)=4
independent on actual
iDataBuffer
string length.
You should write something similar to
int nfRet = SockConnection.Send((char*)&command_header.command,
sizeof(command_header.command));size_t iDataLen = command_header.iDataBuffer.GetLength() * sizeof(TCHAR);
nfRet = SockConnection.Send((char*)command_header.iDataBuffer.GetBuffer(),
iDataLen);
command_header.iDataBuffer.ReleaseBuffer();