本人刚刚接触DCOM技术,使用Delphi7开发时候问题如下:
  一个[应用服务器]一定要在[客户端]的注册表里里面注册吗?
  如果服务器注册成功,并且[应用服务器]和[客户端]不在同一台机器上面,[客户端]如何在网络上找到[应用服务器]呢。
  是不是在DCOM构件的[ComputerName]属性里面填写远程[应用服务器]所在的机器名字呢,还是IP地址,还是域名呢。
  请哪位好心的高手详细说明一下,[应用服务器]从建立到注册到[客户端]连接的详细过程
  不甚感激,谢谢!

解决方案 »

  1.   

    1. 服务器不要在客户机注册, 但设计期你要这么做(socket连接不需要) 因为下拉列表是没有远程服务器名称的2. computer name 呵, WinSock 定位3. ComputerName 可以写 Server Name OR ServerIP, 不能是域名(域名不能定位到一台机)DCOMConnection 不容易设置, SocketConnection 可能是更好的选择
      

  2.   

    up
    同意
    楼上的兄台问一下:dcomconnection支持多线程吗?
      

  3.   

    再问一下,使用SocketConnection会与服务端的防火墙冲突吗?
      

  4.   

    请问[应用服务器]在[客户端]的注册表里面注册的接口值和应用服务器所在的SERVER端的接口值是一样的吗?
      我在LAN环境测试总是提示[RPC服务器连接失败]之类的提示.这和MIDAS.DLL有关系吗?
      

  5.   

    再问一下,使用SocketConnection会与服务端的防火墙冲突吗?:
    sockeconnection不会与防火墙冲突请问[应用服务器]在[客户端]的注册表里面注册的接口值和应用服务器所在的SERVER端的接口值是一样的吗?

    服务器不需要在客户端注册我在LAN环境测试总是提示[RPC服务器连接失败]之类的提示.这和MIDAS.DLL有关系吗?

    用socket打开socketserver了吗?
      

  6.   

    在服务器端用delphi打开服务器端的项目文件,选择菜单run/install com+ object
      

  7.   

    楼上的各位大哥大姐:
        小弟也是刚刚接触midas,有一个问题想请教:我用的是D6,开发了一个系统,三层分布式结构,用Dcomconnection连接,在本机运行正常,可是把服务器程序防盗零仪态计算机后,出现以下问题,连接时可以启动服务器程序,但是马上出现拒绝访问的错误,我知道这应该是Dcom的设置问题,我按照李维《delphi5分布式多层应用系统篇》上面的方法进行设置:注册midas.dll,用dcomcnfg进行了相应设置,可是还是错误,应该怎么解决,帮帮我好吗?!如果有办法,可以在这里回复,也可以发E-mail到[email protected]。谢谢!!!
      

  8.   

    根本不需要在客户机上注册服务器的,你只要分发你的客户程序到其他电脑就可以的,当然需要DCOM 配置的,其实你可以使用CORBA 编程非常方便的
      

  9.   

    2000下的配置:
    DCOM配置  如果在Windows NT环境下正常运行应用服务器,必须进行DCOM配置。配置方法如下:  1.运行NT服务器上的dcomcnfg程序,进行DCOM配置。  2.进入DCOM的总体默认属性页面,将“在这台计算机上启用分布式COM”打上勾,将默认
    身份级别改为“无”。  3.进入DCOM的总体默认安全机制页面,确认默认访问权限和默认启动权限中的默认值无EveryOne,
    如果不去掉EveryOne,应用服务器不能正常启动。  4.在常规页面中,双击你的应用服务器,打开你的应用服务器DCOM属性设置。  5.将常规页面中的身份验证级别改为“无”。  6.位置页面中选上“在这台计算机上运行应用程序”。  7.将安全性页面设置中,均选择“使用自定义访问权限”,编辑每一个权限,将EveryOne加入用
    户列表中。  8.身份标识页面中,选择“交互式用户”。  9.NT的GUEST用户不能禁用。
    注意:关键所在,在控制面板--用户和密码里administrators用户的属性--隶属于里添加power users,其它用户也这样做,guest用户绝对不可以禁用xp下配置
    xp下和上面的一样,不过不用做上面注意里面的东西,只须在dcom配置里对我的电脑属性里的默认com安全性页里默认访问权限和默认启动权限里都加入everyone就可以了