用UDP发送结构体,同样的接收函数用本地回路可以成功,而远程发送缺接不到,高手来.该如何处理

用UDP发送结构体,同样的接收函数用本地回路可以成功,而远程发送缺接不到,高手来..
具体代码如下:
结构体类型:
struct   SendMsgNodeinfo{
CString   m_csEquipName;                                   //设备名称
CString   m_csEquipStyle;                                 //设备类型
CString m_csEquipShowName;                           //设备显示名
CString   m_csIPAddr;                                         //IP地址
BOOL         m_bNoteState;                                     //设备存活状态
        BOOL         m_bNoteSNMP;                                       //设备是否支持SNMP
};

发送端:

SendMsgNodeinfo   NodeMsg;
............//主要是填充结构体(省略)
sendto(m_socket,(char*)(&NodeMsg),sizeof(NodeMsg),0,(SOCKADDR*)&addrTo,sizeof(SOCKADDR));

接收端:

char   recvBuf[1024];
memset(recvBuf,0,1024);
recvfrom(sock,recvBuf,1024,0,(SOCKADDR*)&addrFrom,&len);
SendMsgNodeinfo   *nodeinfo;
nodeinfo=(SendMsgNodeinfo*)recvBuf;
AfxMessageBox(nodeinfo-> m_csEquipName);

注:如果是本地回路地址,上面的AfxMessageBox函数可以正确弹出m_csEquipName的内容。但换成远程地址后,收到的就是乱码了。而且内容可变。


!!!如何解决!!!




------解决方案--------------------
本地回路还同一进程吧?
------解决方案--------------------
知道字节对齐吗?
------解决方案--------------------
CString 的成员是一个字符串头的指针

你把指针发送出去了 而没有把字符串发送出去!!!!!