请教各位,容错服务器的问题!!(50分)

  • 主题发起人 主题发起人 tiger1
  • 开始时间 开始时间
T

tiger1

Unregistered / Unconfirmed
GUEST, unregistred user!
李维老师在容错服务器中举的一个例子如下:
1 procedure TForm2.GetNewServer;
2 begin
3 SocketConnection1.Connected := False;
4 SocketConnection1.Host := SimpleObjectBroker1.GetComputerForProgID
5('PFTDemoServer.FTDemoServer') ;
6 SocketConnection1.Connected := True;
7 end;

8 procedure TForm2.btnGetServerInfoClick(Sender: TObject);
//得到当前服务器的信息
var
vServerTime : OleVariant;
vServerName : OleVariant;
begin
9 try
10 SocketConnection1.AppServer.GetSystemTime(vServerTime);
11 SocketConnection1.AppServer.GetServerName(vServerName);
12 edtSystemTime.Text := vServerTime;
13 edtServerName.Text := vServerName;
14 except
15 on Exceptiondo
begin
16 SimpleObjectBroker1.SetConnectStatus (SocketConnection1.Host, False) ;
17 GetNewServer;
18 btnGetServerInfoClick(Sender) ;
end;
end;
end;

我在调试用时,用了三台计算机,两台做为服务器,一台做为客户端,当我把正在工作的
服务器关掉,在按下(btnGetServerInfo)时,以上的第10处出错:
Project Project1.exe raised exception class EoleSysError with Message('RPC'
服务器不可用),process stopped,used step or run to continue.
它好象找不到另外一个服务器?
我的另外一个服务器是好的,可以使用的,即使是李维他的原例子也是出现这个错误?

 
兄弟,你强行将服务器关掉,那么你的客户端就应该断掉SocketConnection的连接的,你在
断掉连接前调用接口函数当然会报服务器出错了,你应该先在10之前作getnewserver的撒
试试去吧,李维的列子我作过好像没有什么错的撒,^_^
 
接受答案了.
 
后退
顶部