三层应用本机运行正常,但分发时出现运行的异常

aid666 2004-10-31 11:32:56


Client使用ClientDataSet。
Delphi 6 Windows xp

调试时,本机运行正常,虚拟机(win98)下运行正常
在兄弟计算机上,Windows xp+Delphi 7+诺顿防火墙 同一子网,错误: RPC服务不可用
关闭防火墙,运行正常。

另外一个兄弟,Windows XP+Delphi 7+天网 不同子网,错误:RPC服务不可用
关闭防火墙,依旧报错,错误不变。

原因是什么?是不是只能在用一子网下才能使用?如果我想在不同子网下使用,有什么替代办法?
...全文
168 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
aid666 2004-11-02
  • 打赏
  • 举报
回复
就不能不同网段的访问一台应用服务器?
每个网段的配一台服务器,哪一个网段的最多只能有254个客户端?没这么差劲吧
aid666 2004-11-01
  • 打赏
  • 举报
回复
不是所有人都不可用,DCOM各种权限等等都已经设置好了。
问题从其它机器上连接的时候,同一个网段的都能正常工作,不同网段的全是报那个错误。
loveWife 2004-11-01
  • 打赏
  • 举报
回复
我在XP+win2000server 上调试成功。
先决条件,将midas.dll 拷贝一份在应用服务器的windows\system32\ (nt版本在system32,window9x在window\system\)
如果你的客户端(XP)安装了delphi 在window\system32\ 已经有了。否则也要拷贝。


1. 运行NT服务器上的dcomcnfg程序,进行DCOM配置。
  2. 进入DCOM的总体默认属性页面,将“在这台计算机上启用分布式COM”打上勾,将默认身份级别

改为“无”。
  3. 进入DCOM的总体默认安全机制页面,确认默认访问权限和默认启动权限中的默认值无EveryOne,

如果不去掉EveryOne,应用服务器不能正常启动。
  4.在常规页面中,双击你的应用服务器,打开你的应用服务器DCOM属性设置。
  5.将常规页面中的身份验证级别改为“无”。
  6.位置页面中选上“在这台计算机上运行应用程序”。
  7.将安全性页面设置中,均选择“使用自定义访问权限”,编辑每一个权限,将EveryOne加入用户 //忽略权限,正式使用时要考虑安全

列表中。
  8.身份标识页面中,选择“交互式用户”。
  9.NT的GUEST用户不能禁用。
*10.将客户端的网关设为应用服务器所在机器的IP

祝你好运。
loveWife 2004-11-01
  • 打赏
  • 举报
回复
问题现在很清楚

*10.将客户端的网关设为应用服务器所在机器的IP

网关就是同一网段的出口,在分不式多层结构中,不同的应用服务器分布在不同的网段,处理相对独立的工作。
zdq801104 2004-10-31
  • 打赏
  • 举报
回复
“RPC服务不可用”这个错误是你根本没有和中间层连起来,MIDAS注册没有?
XXSingle 2004-10-31
  • 打赏
  • 举报
回复
帮顶
Jeacy1 2004-10-31
  • 打赏
  • 举报
回复
应是“RPC服务器不可用”,一可能是因为你在主机上MIDAS没有注册。二可能是诺顿防火墙拦截了Dcom数据。
我用Delphi5开发了一套<车站票务系统>,Server/Client版的,Server运行在Win2000Server,Client端
是使用ClientDataSet,运行在Win98上,一直运行很好,没什么问题。只是有时偶尔会出现
“RPC服务器不可用”,但关闭服务器程序,从新运行又OK,这可能是核心系统内部偶尔故障所致。在Xp上
运行Client程序也没问题。
zwb666 2004-10-31
  • 打赏
  • 举报
回复
ding

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧