开发Midas应用程序Dcom 和Socket有何差别?
我最近初学Delphi开发Internet应用程序,据我所知,Web服务器可以通过dcom或socket连接应用程序服务器,但不知两者有何差别,比如安装、配置、速度、稳定性等方面?究竟哪一种连接方式较好? 问题点数:100、回复次数:8Top
1 楼wsh(Bingo.W)回复于 2000-09-14 10:38:00 得分 0
关注!Top
2 楼wolfop(真恨无敌)回复于 2000-09-14 13:27:00 得分 0
安装, 配置估计差不多. 但是速度, 稳定性应该是socket要好. DCOM用的那套东西,
绝对是一个资源消耗机, 有人在256M NT上DCOM并发进程到15个系统就崩了.
Socket毕竟没有那些无用的费东西, 简单明了.Top
3 楼Firing_Sky(火的天空)回复于 2000-09-14 13:32:00 得分 0
DCOM本身就是适合于分布式运算,Socket毕竟只是由主机承担大部分工作Top
4 楼blackjack(天行健,君子以自强不息)回复于 2000-09-14 13:40:00 得分 0
关注!Top
5 楼playpcgame(修罗王)回复于 2000-09-14 14:31:00 得分 100
在客户程序与应用服务器之间,Delphi 提供了四种不同类型的连接方式或者说通讯协议,包括DCOM、TCP/IP、OLEnterprise和CORBA。
这些不同的连接方式都各有利弊,到底选择哪种连接方式,取决于客户的数量、客户的分布情况以及怎样发布应用程序。
DCOM是一种最直接的连接方式,它不需要专门的运行期软件支持。不过,Windows 95 不支持DCOM,除非安装了DCOM95程序。要使用MTS安全服务,最好使用DCOM连接方式。MTS的安全服务是基于角色的,当一个客户通过DCOM访问MTS时,DCOM会告诉MTS有关客户的信息,MTS据此来决定客户的角色。如果用其他连接方式,需要有专门的运行期软件支持,客户的调用首先被传递给这些运行期软件而不是MTS,MTS就不能尽快指派角色。
TCP/IP连接方式的适合范围非常广泛,例如,如果客户程序要以ActiveForm的形式分布在Web上,最好采用TCP/IP连接方式,因为您无法肯定下载ActiveForm的计算机是否支持DCOM,而支持TCP/IP的环境是很普遍的。要使用TCP/IP连接方式,应用服务器端必须运行一个专门的运行期软件ScktSrver.exe或ScktSrvc.exe,其中,ScktSrvc.exe只适合于Windows NT,可以作为一个服务在后台运行。与DCOM连接方式不同的是,客户的请求首先传递给ScktSrver.exe或ScktSrvc.exe,然后再创建远程数据模块的实例,而不是由客户的调用直接创建远程数据模块的实例。客户程序上的MIDAS连接构件通过IProvider接口与ScktSrvr.exe or ScktSrvc.exe通讯。不过,客户程序很有可能在没有正常释放对IProvider 接口的引用之前出现异常,而TCP/IP连接方式无法检测到这种情况,更无法通知应用服务器,因此,有可能造成应用服务器上的资源被占用后得不到释放的后果。Top
6 楼cybercake(数字蛋糕)回复于 2000-09-18 17:31:00 得分 0
是啊,以前帮别人开发系统的时候最怕的就是资源无法释放的问题.不论在客户是否正常运行的时候,如果强制释放的话会出错,甚至一生不吭就死机了.有没有人能够解决这个问题呢.Top
7 楼dhl(dhl)回复于 2000-09-18 18:14:00 得分 0
请你先看一下徐新华的拙作,DELPHI4核心编程
再看一看李维的DELPHI5分布式编程就全明白了Top
8 楼Again()回复于 2000-09-21 22:09:00 得分 0
DCOM不好配,Client一拿到别的机器上就不行了。气人!Top




