Foxtable(狐表)用户栏目专家坐堂 → 如何理解NetworkAddressChanged


  共有3234人关注过本帖树形打印复制链接

主题:如何理解NetworkAddressChanged

帅哥哟,离线,有人找我吗?
大红袍
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/25 21:56:00 [显示全部帖子]

肯定是你封装的方法有问题,在这两个事件,如果你ping网址,是会报错的正确这样写

 

msgbox(TryConnectHost("www.baidu.com"))

 

1、NetworkAvailabilityChangedy先执行;

 

2、不会触发事件;

 

3、不会触发事件。

 


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/25 22:26:00 [显示全部帖子]

TryConnectHost 是连接服务器的。

 

TryConnect 是连接数据库的。

 

下面这个比TryConnect快一些

 

try
    Dim conn As ADODB.Connection
    conn = New ADODB.Connection
    conn.ConnectionString = Connections("EI").ConnectionString

    conn.Open
   
    msgbox("成功")
    conn.close
Catch ex As Exception
    msgbox("失败")
End try


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/27 14:34:00 [显示全部帖子]

以下是引用HappyFt在2015/8/27 12:06:00的发言:

2、本地网络没断,但远程服务器突然连接不上了,哪个事件会执行?

3、网络没断,但人为改变了服务器的IP地址,哪个事件会执行?

 

 

NetworkAddressChanged和NetworkAvailabilityChangedy这两个事件在上述两种情况都不触发,那在里面写代码来判断网络是否通就没有意义了,那在上述两种情况下有什么办法快速判断网络已经不通了呢?因为昨天就发现,远程服务器已经关了,客户端都没有任何提示,都卡死在那里了

 

NetworkAddressChanged和NetworkAvailabilityChangedy只会检测本计算机的改变。

 

要不你就用socket通信,当服务器无法访问的时候,自然会抛出错误;

 

又或者,你用计时器间断的连接服务器,比如执行 select * fr om {表A} where 1=2。如果报错,也是不能连接了。


 回到顶部