就用XML打包的串,因为它便于扩充数据字段,容易升级及修改,而且发送的只是串,拆包及打包容易

解决方案 »

  1.   

    我认为再封装一边比较好
    typedef struct _NODEDOWN
    {
      struct PrivateInfor;
      struct AddressInfor;
      struct StatusInfor;
      struct MessageInfor;
      struct ActionInfor;
      .....
    } NODEDOWN,*LPNODEDOWN;
    这样以后只要修改相应的类和类的函数,保持接口大致不变。
      

  2.   

    嗯?!你这是设计模式吗?
    不过你的协议传输如果使用“标签”(类似xml文档)接收方可以使用Builder模式读取和解析。
    参考:《设计模式》一书.
      

  3.   

    你说的第一种方式是把数据组装成XML来传送,优点是由很多现成的XML Parser包可用,还是比较方便;但数据量大一些;还可以使用类似HTTP协议那样的文本方式。第二种方法是不常用的,因为可能会涉及到许多变长的数据。通常
    要自己制订数据格式,并编写编解码程序,建议参考RADIUS的格式,一个
    很简单的通信协议,又很容易扩充。
      

  4.   

    嗯?!您这是讨论设计模式吗?
    如果你使用标签来传数据,接收方可以用Builder模式进行解析。参阅《设计模式》一书。
      

  5.   

    我认为可以将常用的数据放在结构里,参数使用XML格式进行传递。这样既可以方便处理各种命令及提高处理效率,又可以减少参数在改变时,造成的影响。