C/S结构中,客户端A更新数据后客户端B如何自动刷新数据列表?
怎么做才能最佳化?
如果做个定时器,数据感知表格就会移动影响客户使用。

解决方案 »

  1.   

    A向S发通知,S再通知所有的其他客户端
    tcp是可以主动推信息的
    但是这样会受网络防火墙(如果有的话)的限制
      

  2.   

    如果不跨越路由且在同一网段的话,可以用UDP通知,同时接收就OK!
      

  3.   

    如果系统简单用UDP比较好,如果系统结构复杂实现起来有一定难度。
      

  4.   

    > C/S结构中,客户端A更新数据后客户端B如何自动刷新数据列表?
    > 怎么做才能最佳化?
    > 如果做个定时器,数据感知表格就会移动影响客户使用。考虑不要用数据感知,
    或者,用内存表来隔离直接的数据感知。比如,用ClienDataSet+Grid类控件来显示数据;
    用另一个Query取得最新数据,将其与ClientDataSet做比对,
    多则Insert,少则Delete,数据不同则修改;这样,用户在Grid类控件上感觉到的闪动最小。当然,要觉得闪动更小,可能连Grid类控件也要换,
    比如换成ListView的升级版控件?
    比如自己用Grid写一个升级版控件?
    这个,要你具体分析了。