MIDAS连接问题(在线等待)(100分)

  • 主题发起人 主题发起人 KingLongSoft
  • 开始时间 开始时间
K

KingLongSoft

Unregistered / Unconfirmed
GUEST, unregistred user!
MIDAS 3 FOR DELPHI 6:我们用DELPHI6开发了一个多层的应用,客户端运行时当网络断开
的时候系统提示CONNECTION FAILURE,网络重新连上之后系统也有反应,如何恢复系统连接?
 
你的程序中最好检测网络连接状态,当网络断开时关闭连接,
了检测到网络连接恢复时重新打开连接。
 
那个简单负载平衡控间Tsimplexxxx(记不清了,datasnap页里的)可以满足你的要求
 
通常,为了避免每一次访问DCOM服务器都要重新连接,人们都会设置TDCOMConnection
组件的KeepConnection 属性为True,这样在网络断开之后,再次恢复时,客户端的连接状态仍然保持,但是实际上已经无效。我想可以这样处理:添加一个TTimer组件,在网络中断
或者由于网络连接中断而出错时,启动定时器,如下代码:
procedure Timer1Timer(Sender:TObject);
begin
try
DCOMConnection1.Close;
DCOMConnection1.Open;
Timer1.Enable := false;
ShowMessage('连接恢复!');
except
end;
end;
 
TO octane:问题是我如何知道网络已断开,是不是WINDOWS在网络断开的时候会
给操作系统发送一个消息?还有,我的应用程序客户端在访问应用程序服务器时需要
穿过防火墙,用TDCOMConnection连接是不行的,但在BORLAND的网站上看到scktsrvr.exe
已公布了不少的BUG,请问哪位大侠有更好的解决方案?
 
是不是可以在适当的时候实现ping操作,判断网络是否断开。当断开时,采用octane的方法,启动时钟定时器。
 
To KingLongSoft:
我想是这样:如果需要频繁的访问网络,万一网络中断,则执行相应的代码时,肯定会
触发错误,可以捕捉该错误并设置一个错误标志,并启动定时器,定时的试图连接应用服务器,如上代码,对TSocketConnection同样。这样用户可以看到原因。
如果不需要频繁的访问网络,则可以设置TSocketConnection的KeepConnection属性设置为False,这样每次都重新建立连接,又比较简单。
在Internet环境下,建议你好好学学IntraWeb,Borland已经把它加入到Delphi7中,只是这方面中文资料很少,只能看看英文的用户手册和帮助了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部