[急]关于 MFC 中 SOCKET 数据传输 数据不一致
这个急死了,想了好几天都没想明白, 希望各位前辈能指出问题所以
//以下为封装 传输数据的 结构体struct TDataS{ int type; int playerOrder; int param1;};//生成一个数据TDataS tds;tds.type=1;tds.param1=icard;TDataS* ptds;ptds=&tds;//发送数据SendTranfer(ptds); //其中函数SendTranfer的代码为 SendTranfer(TDataS* tds) { int iSend=m_socket.SendTo(tds,sizeof(&tds), clientPort,clientIP,0); }//此部分接收数据TDataS* tReceiveData;TDataS tempTds;tReceiveData=&tempTds;ReceiveTranfer(){ int iRecv=m_socket.ReceiveFrom(tReceiveData,sizeof(&tReceiveData),clientIP,clientPort,0);}
TDataS tds;tds.type=1;tds.param1=5;TDataS* ptds;ptds=&tds;
tReceiveData->type=1;tReceiveData->param1=1;
int iRecv=m_socket.ReceiveFrom(tReceiveData,sizeof(&tReceiveData),clientIP,clientPort,0);
[解决办法]
还有你发送的时候
int iSend=m_socket.SendTo(tds,sizeof(&tds),
[解决办法]
你只发送了4个字节