首页 新闻 搜索 专区 学院

联网验证在线或离线的问题

0
悬赏园豆:30 [已关闭问题] 关闭于 2015-10-20 17:34
具体问题如下:
公司的软件需要改进一个功能,就是验证用户许可的,原本的实现的通过ping一下百度的网址,看是否ping得通来实现判断当前环境是否联网,联网则进行在线验证,离线则进行离线的处理,但是这做法其实并不稳定,比如不少公司都有内网外网之分的,像我现在的公司,在内网ping得通百度,但是百度是访问不了的,内网不允许访问https……而之前的设计会导致的一个结果就是用户在自己公司的内网上ping得通,进行在线验证,但是实际上的访问又是受限的,这样导致了在线验证的执行出错,但是离线的处理又没有应用到,该如何设计这个联网验证会好一些呢?
目前尝试了ping和GetInternetConnectedState两种处理方式,都失败了,不知道该如何找到思路。
< >
分享
所有回答(2)
0

不能设置一个心跳包么,向自己的后台服务定期进行请求,如果一直在线,则更新最新的时间,并严重为在线;如果超时或者其他原因则导致会话过期,认为离线。

JackWang-CUMT | 园豆:2826 (老鸟四级) | 2015-10-10 20:39

问题的关键是我不知道怎么判断出ping得通却访问不了T_T,像我自己的公司内网是限制了https,所以我ping百度没问题可是却是打不开的

支持(0) 反对(0) BiggodXY | 园豆:120 (初学一级) | 2015-10-12 09:44
0

直接尝试连接在线验证服务器

iVechan | 园豆:351 (菜鸟二级) | 2015-10-11 09:49

就是我想请问的是这一步如何进行好呢,后台打开一个网页?但是这样的体验是非常不好的,我不知道除了ping我自己的服务器还能有什么办法T_T

支持(0) 反对(0) BiggodXY | 园豆:120 (初学一级) | 2015-10-12 09:49

@BiggodXY: 我不清楚你们的在线验证方式,如果是能打开百度网页就算连接到网络的话,你可以只读取百度首页的源代码判断下就行,就是http协议中的get,嫌慢可以用http协议的head方法

支持(0) 反对(0) iVechan | 园豆:351 (菜鸟二级) | 2015-10-12 10:07

@iVechan: 嗯嗯,我试试看这个思路

支持(0) 反对(0) BiggodXY | 园豆:120 (初学一级) | 2015-10-12 10:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册