服务器端是C#,客户端是C++;网络上传输的是byte[]的结构体。
问题:服务器端如何将byte[]解析成所需的结构体?又如何将结构体转换成byte[]数组,以便客户端能够正常解析?
刚搜了一下,以前也有人问过这个问题,并有了初步的解决方案:手工编码。有没有更好的方法?毕竟那个解决方案是几年前的了。
以前的问题及解决方案:
http://topic.csdn.net/t/20050105/17/3701825.html

楼主Steven_luo(罗弈)2005-01-05 17:50:43 在 .NET技术 / C# 提问
问题是这样的,做一个Socket程序,客户端用的C++,服务器端用C#,两边都定义了相同的结构体,问题如何把C#的结构体转换成byte[]发送到客户端,还有就是,如何把客户端发送过来的byte[]转换成一个结构体?   
    
  希望有做过这方面程序的朋友给点提示!

解决方案 »

  1.   

    这个序列化内存,可能是在声明的时候要注意,然后用什么方法的话……
    不记得了。如果没有高人访问到这个帖子给你好方法。你可以暂时用我的本办法。就是用BitConvert,自己把内存分析成double,int,float....这些,然后把数值给一个结构体,直到构造完结构体。这样是麻烦一点,不过也只麻烦的写一个函数而已。
      

  2.   

    用序列化把结构体转换成BYTE数组!
      

  3.   

    这么说吧,我是服务器端,对方是客户端,客户端通过网络发送过来一个结构体,我接收到的形式是一个byte[]数组,如何比较方便的解成结构?我有如何将我的结构转换成byte[]数组,发送给对方?
    序列化之后对方还能正确接收(按C++下的格式)吗?