Foxtable(狐表)用户栏目专家坐堂 → 网络或ftp服务器不通时如何快速提示?(未解决)


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

主题:网络或ftp服务器不通时如何快速提示?(未解决)

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


加好友 发短信
等级:四尾狐 帖子:976 积分:8527 威望:0 精华:0 注册:2012/2/9 16:35:00
网络或ftp服务器不通时如何快速提示?(未解决)  发帖心情 Post By:2014/6/5 19:26:00 [只看该作者]

为了实现打开项目时自动升级,用了如下代码:
'连接FTP服务器
Dim ftp As New FTPClient
ftp.Host = "x.x.213.82"
ftp.Account = "xxx"
ftp.Password = "jxxxx"
ftp.RootDir = "\Update" '设置目录路径.
If ftp.Connect Then '如果FTP连接成功
   。。。自动升级的代码
end  if
。。。继续打开项目

现在问题是如果ftp服务器连接不上,则要等很久至少十几二十秒才会继续执行后面的代码,有没有办法用时间控制,如果5秒连接不上就不升级,ftp就跳过自动执行后面的代码。

这个问题在打开项目时也同样会出现,如果数据源连接不上也要等很久才跳出错误框,能否5秒连接不上就提示网络不通,过会儿再联系,用帮肋中的TryConnectHost,NetworkAddressChanged,NetworkAvailabilityChanged
三个事件测试都无法达到这种效果,有没有其他办法?

谢谢!
[此贴子已经被作者于2014-6-7 10:51:08编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/5 19:30:00 [只看该作者]

用ping吧,可以设置超时时间

 

http://www.foxtable.com/help/topics/1401.htm

 


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


加好友 发短信
等级:童狐 帖子:290 积分:2086 威望:0 精华:0 注册:2013/11/23 10:11:00
  发帖心情 Post By:2014/6/5 19:34:00 [只看该作者]

如果服务器设置的不允许ping呢,如何解决?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/5 19:37:00 [只看该作者]

ftpClient公共属性,如下

 

Connected
Port
Timeout
Host
Account
Password
BinaryMode
UTF8
BufferSize
UploadBufferSize
ShowUI
RootDir
LocalDir
UploadEnabled
DownloadEnabled
RenameEnabled
DeleteEnabled
MakerDirEnabled
OpenFileEnabled
CurrentDir

 

那就设置ftpClient的Timeout


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


加好友 发短信
等级:四尾狐 帖子:976 积分:8527 威望:0 精华:0 注册:2012/2/9 16:35:00
  发帖心情 Post By:2014/6/5 19:47:00 [只看该作者]

谢谢,那打开项目连接数据源时怎么样才能设置呢,象3楼所述有的服务器是禁用ping的,有没有其他办法,这个问题因扰了好久。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/5 19:48:00 [只看该作者]

  设置ftpClient的Timeout

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/5 19:50:00 [只看该作者]

 如果是数据源

 

if Connections.Tryconnect("Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=订单;Data Source=110.110.110.110;Connect Timeout = 10;")

then


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


加好友 发短信
等级:四尾狐 帖子:976 积分:8527 威望:0 精华:0 注册:2012/2/9 16:35:00
  发帖心情 Post By:2014/6/5 20:00:00 [只看该作者]

好的,谢谢!

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


加好友 发短信
等级:四尾狐 帖子:976 积分:8527 威望:0 精华:0 注册:2012/2/9 16:35:00
  发帖心情 Post By:2014/6/7 9:28:00 [只看该作者]

按有点甜老师所述加了timeout,但ftp服务器不通时测试了下要等21秒才能继续,为什么不起作用?谢谢!

'连接FTP服务器
Dim ftp As New FTPClient
ftp.Host = "x.x.213.82"
ftp.Account = "xxx"
ftp.Password = "jxxxx"
ftp.TimeOut = 3000  '默认秒
ftp.RootDir = "\Update" '设置目录路径.
If ftp.Connect Then '如果FTP连接成功
   。。。自动升级的代码
end  if
。。。继续打开项目


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/6/7 11:05:00 [只看该作者]

'连接FTP服务器
Dim ftp As New FTPClient
ftp.Host = "x.x.213.82"
ftp.Account = "xxx"
ftp.Password = "jxxxx"
ftp.TimeOut = 3000  '默认秒
ftp.RootDir = "\Update" '设置目录路径.
If ftp.Connect Then '如果FTP连接成功
  ' ...自动升级的代码
Else
  MessageBox.show(21)
end  if

我测试3秒就会弹出 21  

 回到顶部