SOS SOS 急 急 急 高手请来回答! (100分)

  • 主题发起人 主题发起人 hstod
  • 开始时间 开始时间
H

hstod

Unregistered / Unconfirmed
GUEST, unregistred user!
在application中要与元程数据库进行数据交换怎样判断网络是连通还是断线了?一断线就通知
请高手指点一二!
 
没有知道吗?
我自己顶 急用!!
 
与远程数据库连接一网络一断钱就提示 怎么作???

 
没人知道吗???
 
帮你向上提!
 
谢谢了 wql
 
开个线程,固定时间ping远程的机子不就行了!
 
to wangbing9802谢谢了
如果客户端太多了会给服务器ping死、如果是客户端的系统资源紧张会不会造成机器死机?
有没有什么事件触发?(在非正常掉线时)
 
自己顶!!!
 
这个问题已经提了很多了,思路如下:
1、定时使用网络消息发送来应答;
2、在数据操作之前,简单使用TRY ADOQUERY.OPEN EXCEPT MESSAGEBOX('ERROR!')来判断,
如出错,那网络肯定有问题,不出错,就继续操作其它数据.
 
不会ping死的。如果你没五分钟ping一次的话,你再多的客户端也ping不死,试试看。我曾试过用10台左右的电脑ping一台,差不多可以ping死。

至于其他的,我就不太在行了。
 
定义一个:
FTestConn: TIdTCPClient;
FTestConn := TIdTCPClient.Create(nil);
FTestConn.Host := 服务器IP;
FTestConn.Port := iServerPort;

然后:
try
bNetOK := false;
FTestConn.Disconnect;
FTestConn.Connect(iTimeout);
FTestConn.Disconnect;
bNetOK := true;
Synchronize(DMMain.ConnectToDB);
except
on E: exception do
begin
bNetOK := false;
WriteRunLog('不能连接服务器(' + sDBServer + ')' + E.Message);

//¹Ø±ÕÊý¾Ý¿âÁ¬½Ó
Synchronize(DMMain.ADOConn.Close);
end;
end;

//等待
Sleep(1000);
end;

------------
以上代码是正在使用的,绝对可以,我是两个线程,有一个专门探测网络通断。
 
多人接受答案了。
 

Similar threads

回复
0
查看
845
不得闲
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
896
SUNSTONE的Delphi笔记
S
后退
顶部