小弟最近做一点socket的小程序,发现在若以数据流形式传递数据,服务器做解柝很费力
小弟想传递结构体到服务器,这样可以解决很多不必要的麻烦,
有知道的请留言,多谢了,如果这个想法行不通,请告诉我一下如果传递有层次的数据,应该怎样做

解决方案 »

  1.   

    当然可以了,把整个数据指针转换成 char* send过去,
    接收时在转换成结构类型,。注意一定要保证结构完整的被传递
      

  2.   

    结构体直接转换为char*,然后传递
      

  3.   

    结构体是跟具体的操作系统,CPU体系结构,以及所用的编译器相关的,所以在网络上传结构体的程序可移植性非常非常的差,这种做法仅仅比在两个机器间传递内存地址指针好一点点。当然,如果先定义好网络字节流,可以在具体的CPU+OS+Compiler上映射到结构体
      

  4.   

    哥哥们小弟现在有两个想法,我们一起设想一下下面有做法能行不?
      1。小弟用的程序基本框架,消息可以用ACE_Message_Block,还有ACE_Module,但是具体的小弟也不是很明白,看一看那两个结构能不能解决这个问题
      2。传递类似于XML的结构,不过这样在服务上做解柝还是很费力
      

  5.   

    ......对了,小弟忘了,小弟做的程序都是跑在WindowsXP上的,程序是基于ACE的程序,不过那个和其本的socket编程,在我这个程序上没有太多的差别
      

  6.   

    如果结构体里面没有指针 而且都是同样的类型的机器!比如都是inter的。才可以直接变char *传送