在作一个 C/S的结构的系统, 现在要传输一个 3 层结构的数据包,应该这么弄了??
  服务器连后台数据库,从数据库中读取3级目录,和每级目录的信息。
  3层结构如下
              总公司(2/10)
                      王总
                      李总
                      ....
                 分公司(1/20)
                      杨经理
                      ...                   部门(1/30)
                      小王
                      ....
                               
   每一级目录下 ,都有若干人员 , 人员上线后,就显示人员在线。
   因为目录的数目不确定,每级目录下人数也不确定,现在的问题就是 ,数据包应该这么定义?服务器这么怎样一次或者多次传输数据,把这个3级目录的信息传给客户端?
   谢谢。

解决方案 »

  1.   

    问一句,你是想怎么传输这些数据烦恼吗?或者说你把数据包和数据库的结构混合在一起
    我建议将他们分开,
    一、数据库数据信息的读取和保存
        读取就不用说了,关键是保存,你可以使用自己定义的数据结果,采用链表等等二、数据传输的问题,这个可以考虑文件形式传输,也可以使用二进制流的方式传输。
    我的一个想法,自己定义一个读取数据库的方式,将所有的数据库结构和内容转化为SQL语句,这样你可以txt方式发送,传送SQL语句SQL语句就相当于中间标准媒介。。
      

  2.   

    典型的树状结构啊,传输的时候就单个节点传,每个节点不是有Parent Child 和Brother属性么?传过去一个构造一个...
      

  3.   

    to 鼎鼎 
         我就是为 传输这些数据烦恼。
         自己定义一个读取数据库的方式,将所有的数据库结构和内容转化为SQL语句。
         数据库的内容怎么转为 SQL语句???  这个这么实现 。
         是不是 将 数据库的内容 转化为自己定义的 结构(链表),然后把这个链表 以文件形式传输.
         
      

  4.   

    这种结构是XML的拿手好戏,把数据转换成XML格式传输吧。
      

  5.   

    to BUbuWander    
        对,就是树状结构, 但传一个节点,构造一个节点 ,这样效率太低。
        如果有大量客户端 与服务地方器通讯 ,这样的方法就不可取。
        我就想尽量少的通讯,将这个3 层结构的信息 ,传给客户端。
      

  6.   

    这么说吧,你先不考虑如何传输先考虑怎么把你看到的目录结构保存,保存方式自己定。你可以自己定义一套数据结构,用保存这个目录结构,然后二进制方式写入文件。你也可以自己创建一个MDB(比如),保存到数据MDB中。
    然后就是客户端获取这个文件或者MDB后怎么读取,表现给用户。现在再考虑传输的问题。无非是现在你把这块数据怎么发送给客户端,注意包长就可以了。也就是你发送的数据可以只是整体数据的一部分,考虑怎么拆分和组合的问题。这些你都可以自己来决定。比如现在举个例子,你定义一个目录节点的数据结构,一个节点就是一个数据结构,将这个数据结构发送给客户端,客户端按照你的结构格式读取分析。
      

  7.   

    我觉得和QQ很类似阿,可以采取QQ好友列表之类的,直接发一个树状结构就额可以了。或者也可以这样,每当一个人上线,就通知客户,数据包里可以有个flag,比如说1=总公司,2=分公司,3=部门