日期:2014-05-18  浏览次数:20995 次

C# socket返回的数据怎么解析出来,请先看下我的问题
我的代码
  socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
  IPAddress ipa = IPAddress.Parse("172.16.10.5");
endPoint = new IPEndPoint(ipa, 6666);
socket.Connect(endPoint);
 lianjie = true;
 int nGetLength = 0;
nGetLength = socket.Receive(b_receivedata,b_receivedata.Length,0 );
返回的数据b_receivedata 是byte数据 每个字节都是数字

c++那边给我发的是
send(sock_client,(char*)&ms,sizeof(ms),0);(他的这些我也看不懂 ms是定的结构,他发送是吧这个结构转换成char类型发过来的)

C++定的结构
typedef struct _MemoryStatus

  DWORD dwMemoryLoad; // 物理内存使用率
  DWORD dwTotalPhys; // 物理内存总数
SIZE_T dwAvailPhys; // 物理内存可用数
SIZE_T dwTotalPageFile;// 页文件总数
SIZE_T dwAvailPageFile;// 页文件用数
SIZE_T dwTotalVirtual; // 虚拟内存总数
SIZE_T dwAvailVirtual; // 虚拟内存可用数
}
我C#这里的结构
public struct MemoryStatus
  {
  uint dwMemoryLoad; // 物理内存使用率
  uint dwTotalPhys; // 物理内存总数
  uint dwAvailPhys; // 物理内存可用数
  uint dwTotalPageFile;// 页文件总数
  uint dwAvailPageFile;// 页文件用数
  uint dwTotalVirtual; // 虚拟内存总数
  uint dwAvailVirtual; // 虚拟内存可用数
  }
不知道 我这里定的结构跟C++那里统一不!!

现在是 他给我把数据发给我了,然后到了b_receivedata(byte) 里 我怎么把b_receivedata解析出来???那位能够帮帮我

------解决方案--------------------
这不是我发的么,刚才那帖子我不也提供了解析的代码?