难道200分无人认领吗? --------> 中间层服务器问题(有delphi编程框架/通用中间层服务器源码下载) (200分)

  • 主题发起人 主题发起人 wolaixue
  • 开始时间 开始时间
W

wolaixue

Unregistered / Unconfirmed
GUEST, unregistred user!
中间层服务器如果先启动,则客户连接一切正常;
可如果中间层服务器没有启动,客户连接时能启动它但无法返回,
好象是中间层程序死了,而客户端程序等待。
我跟踪发现:
procedure InitComServer;
begin
if SaveInitProc <> nil then
TProcedure(SaveInitProc);
ComServer.FStartSuspended := (CoInitFlags <> -1) and
Assigned(ComObj.CoInitializeEx) and Assigned(ComObj.CoResumeClassObjects);
ComServer.Initialize;
if ComServer.FStartSuspended then
ComObj.CoResumeClassObjects;
end;
其中ComObj.CoResumeClassObjects;导致死机。
//@CoResumeClassObjects := Windows.GetProcAddress(Ole32, 'CoResumeClassObjects');
这个问题会出在哪?
 
不会是InitComServer这个过程出的错.
都用MTS/COM+那么久了,没出现过这个问题.
可能是你的COM对象问题,或者是服务器配置问题.
 
客户端没有权限启动服务器
 
如果在服务器端再增加一个新的RDM,DCOM配置与原RDM一样,却可以连接!
 
如果服务器是win2k,需要sp3,DCOM才能基本正常工作
 
XP,服务器和客户都在一台机器上。
 
delphi编程框架/通用中间层服务器源码:
http://www.encryptpe.com/bckj.zip
你可以试试在你的机器上有问题吗?
 
你要配置你的机器的自动访问权限,并且要加入到你的机器的用户组里来呀!这才能自动启动
远程服务器,给分吧!
 
来自:b2sun, 时间:2003-5-17 23:26:00, ID:1870836
你要配置你的机器的自动访问权限,并且要加入到你的机器的用户组里来呀!这才能自动启动
远程服务器,给分吧!
来自:wolaixue, 时间:2003-5-17 15:38:00, ID:1870038 | 编辑
如果在服务器端再增加一个新的RDM,DCOM配置与原RDM一样,却可以连接!
我也是考虑DCOM配置的问题,可不管怎么配置都是这样的(中间层能启动但死机)啊!你下载源码看看!记住是XP。
 
你的服务器上有多个appserver,手动启动的是最新的,而服务器自动启动的是旧的。
只是可能,没什么理论根据。自己找找看。
 
来自:ninglng, 时间:2003-5-20 10:03:00, ID:1876941
你的服务器上有多个appserver,手动启动的是最新的,而服务器自动启动的是旧的。
只是可能,没什么理论根据。自己找找看。

不是这样的啊,我在服务器代码中加
MessageBox都能显示信息的,只要到了ComObj.CoResumeClassObjects;就死!
(由Application.Initialize;调用来的)
 
多人接受答案了。
 
后退
顶部