用BDE开发的CS结构的数据库网络程序在2M带宽的网络中,为保证网络畅通最多允许多少客户端用户同时在线?

解决方案 »

  1.   

    理论上C/S结构的最大客户端数量是200个,也有前辈指出是150个(见台湾李维出的delphi编程书籍)。但是C/S结构在复杂网络环境中表现的太差了。我试过,连接极度不稳定。建议楼主该用分布式多层结构开发。
      

  2.   

    用分布式多层结构开发,我的系统环境是win2003 server,开发了一个Remote Data Moudle服务器程序,客户端应用程序在本机上能调用这个组件提供的服务,为什么在局域网内其他机器上客户端应用程序不能运行,(我以用dcomcnfg设置了此组件的属性访问权限等),请大侠指点!!!! 
      

  3.   

    一般来讲,我个人没有使用dcom连接,而是全部使用socketconnect.这2个连接的区别是dcom需要遵守windows安全机制,而socket不用。dcom在效率上要比socket高,然而在多次跨网关的复杂网络中dcom支持不好。我们要的软件是支持复杂网络的。不然还不如直接C/S结构算了。所以建议楼主使用socketconncet.socket麻烦的是需要启动socket端口代理服务器。令人兴味的是这个服务器在delphi中自带源代码。可以很轻松得把代码转入你自己的应用服务器代码中,把2个软件和2为一。这样用起来就不别扭了。
    PS:放弃BDE吧。那个数据引擎连borland都放弃了。版本一直都是5.01已经10年(1998年以后就没有更新)。建议楼主使用ADO.
      

  4.   

    谢谢boneheart。在刘艺书中提到如果客户程序上的MIDAS连接组件在通过IPROVIDER接口的引用之前出现异常,TCP/IP连接方式无法检测到这种情况,更无法
    通知应用服务器,因此,有可能造成应用服务器上的资源被占用后得不到释放,如何避免这种问题。
      

  5.   

    没错,borland本身的集成数据引擎性能已经远远跟不上后来的ADO数据访问了,更何况以后是ADO.NET的数据引擎时代,在跨网关的复杂网络中socket要比dcom支持和性能上好得多,大部分需要使用MIDIS开发完成.
      

  6.   

    是不是可以这样理解:socket端口代理服务器调用DCOM,但是又不能控制DCOM的资源分配与释放,最后造成服务器崩溃。用socketconnect多的各位老师碰到过服务器因此崩溃的情况吗?如果有这种情况DELPH还有更好的解决多次跨网关的复杂网络三层数据库问题吗?请各位老师的答复。