typedef struct
{
   OVERLAPPED Overlapped;
   WSABUF DataBuf;
   CHAR Buffer[DATA_BUFSIZE];
   DWORD BytesSEND;
   DWORD BytesRECV;
} PER_IO_OPERATION_DATA, * LPPER_IO_OPERATION_DATA;struct tag_ReturnLogin
{
unsigned ret;
unsigned other;
};
tag_ReturnLogin  TAGRETURN;
ZeroMemory(&(PerIoData->Overlapped), sizeof(OVERLAPPED));
strcpy(PerIoData->Buffer,(char*)&TAGRETURN);
PerIoData->DataBuf.len = sizeof(tag_ReturnLogin);
strcpy( PerIoData->DataBuf.buf,  PerIoData->Buffer);
if (WSASend(PerHandleData->Socket, &(PerIoData->DataBuf), 1, &SendBytes, 0, &(PerIoData->Overlapped), NULL) == SOCKET_ERROR)
{
     NC._PostToScreen("Send() failed with error :",GetLastError());
}客户端接收:
                   char *buffer;
          buffer=new char[sizeof(tag_ReturnLogin)];
 tag_ReturnLogin *LPTAGRL;
 LPTAGRL=(struct tag_ReturnLogin *)buffer;
 int i=LPTAGRL->ret;
 int k=LPTAGRL->other;
客户端接收数据出错.
可能是类型转换,传递写错了但不知如何解决?