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

C# 里面的socket接受的byte字符数组怎么给他解析成发过来的数据
我的C#程序 用socket连接到C++ 接收到一个byte[1024*1024*4] 的byte数组 里面每个字符都是数字 ,比如第一个是18
第二个是0,第三个是0第四个是0第五个是42 后面一大堆 这个怎么解析成他发给我的数据 我刚接触这个socket 不知道怎么弄得 那位能帮帮我 谢谢


下面我把我的代码粘贴出来
socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
  IPAddress ipa = IPAddress.Parse("172.16.10.5"); //连接ip
  endPoint = new IPEndPoint(ipa, 6666); //连接端口
  socket.Connect(endPoint);
  lianjie = true;
  int nGetLength = 0;
  nGetLength = socket.Receive(b_receivedata,b_receivedata.Length,0 );

因为没有 发送数据 只是连接上 他就给我发数据了 所以下面直接接收了  
那个 b_receivedata 里面接收的数据怎么解出来(那边给我发的是他的计算机硬件的信息,比如内存多大,用了多少内存,可用内存 等等)

在线等解决办法 谢谢

------解决方案--------------------
定义个结构
C# code
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct MemoryStatus
{
    uint dwMemoryLoad; // 物理内存使用率
    uint dwTotalPhys; // 物理内存总数
    uint dwAvailPhys; // 物理内存可用数
    uint dwTotalPageFile;// 页文件总数
    uint dwAvailPageFile;// 页文件用数
    uint dwTotalVirtual; // 虚拟内存总数
    uint dwAvailVirtual; // 虚拟内存可用数
}