服务器数据库的股票行情数据每间隔10秒读取到缓存然后将这份缓存3000多条股票行情推送到各个用户客户端供客户端的软件调用。问:C#要怎么实现,这方面比较薄弱没头绪。

解决方案 »

  1.   

    服务器上建个WebService,客户端调用WebService
      

  2.   

    多线程+socket。估计你服务器端要保存一张客户地址列表,客户端再保存一数据文件。服务器端访问数据库读数据,然后存到变量中,再开线程一个一个去连客户端的程序,将数据再传输存到客户端的数据文件中。用户第一次打开客户端后先给你服务器提交地址信息,以后就去那个文件里读数据就行了。
        这个思路行不?
      

  3.   

    应用场景:几千个客户端,开启客户端的程序,然后程序会10秒内频繁的读取服务器上的行情数据库,已发现问题:程序上各个模块会各自不同秒内请求服务器的数据库行情,这样造成服务器请求频繁(虽然服务器上有缓存用handler提供,客户端用ajax请求),请求频繁的一个结果是客户端慢、阻塞。所以想把几个客户端同时间隔10秒,将服务器行情推送到各个客户端进行保存,客户端读取数据都读取本地就可以。
    web service的跨平台性是不错居于xml就是利于各个平台使用。但性能方面不一定好,相反类似于上面说的慢问题。
    网络拓扑结构:机房的拓扑结构不是开发人员所能有办法的。这个不列入考虑范围。
      

  4.   

    不是思路行不行,重要的是性能和实践能否可行。对socket少接触,多接触的是web开发。所以兄弟您可以依据您的经验说下这方面可行不。省的有限时间去研究这错误的东西。
      

  5.   

    web 的我不太清楚,但你可以先考虑优化下服务器这边的,不用每个客户端过来都去访问数据库,这样应该可以提高很大一部分效率。至于推送,如果是C/S模式的就很好办。