| 发表于:2007-05-11 11:33:58 楼主 |
具体代码如下: 结构体类型: 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的内容。但换成远程地址后,收到的就是乱码了。而且内容可变。 !!!如何解决!!! |
|
|
|
|