博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在线教育工具—白板系统的迭代1——bug监控排查
阅读量:4326 次
发布时间:2019-06-06

本文共 1219 字,大约阅读时间需要 4 分钟。

近一年都在做一款在线教育工具(以下统称为“白板”)的开发工作,期间遇到N多的问题与坑,遂在此记录,并及时更新。

第一篇:关于资源访问填坑

因为是在线授课,所以使用我们白板的人员地域范围较广,基本上西到乌鲁木齐,北到哈尔滨,南到海南,国外的有加拿大,美国和日本等留学相对热门国家,所以在网络的资源访问上难免踩到到众多的坑

1、DNS解析失败

这种场景多发生在中西部地区以及教育网的场景下,起初,用户发生这样的问题,反馈过来,鉴于用户多数是电脑小白,技术支持一般会帮用户远程操作,因为软件使用的是阿里云,所以会将用户的DNS地址改成阿里云的。后面考虑到这种方式太原始,于是写了个bat脚本,集成到软件内(不过个人感觉还是太low了,暂时没有其他方案),出现网络跑不通的情况,给予用户相应的提示,用户可以自己run bat进行网络访问诊断;

 

用户网络环境检测脚本界面

 

2、用户网络无法无法访问CDN图片资源

这种场景多发生于教育网或部分运营商网络环境下(如广电等),但也不排除因为节点分布等其他原因导致无法访问cnd,针对这种情况,我们在CDN之外,另外部署了两台服务器作为图片的代理,前端封装一个检测图片url是否有效的方法(代码如下),即拿到用户课件图片中其中一张进行检测地址能否访问,如果http请求是200,则无需启用图片代理服务器,反之则启用第一台代理服务器,同样进行http请求的校验,以此类推,直到所有代理尝试完毕,如果依然无法访问,则给予用户更换网络环境的前端提示。

/*** 做图片url是否有效检测* @param url */testImgUrl(url: string, callback: (res) => void) {    if (typeof XMLHttpRequest !== 'undefined') {        let xhr = new XMLHttpRequest();        xhr.onreadystatechange = function(){            if (xhr.readyState === 4) {                if (xhr.status !== 200) {                    callback('failed');                }else {                    callback(xhr.status);                }            }        };        xhr.timeout = 1000;        xhr.open('get', url, true);        xhr.send(null);    }}

转载于:https://www.cnblogs.com/xudengwei/p/7581558.html

你可能感兴趣的文章
RTSP 资料
查看>>
[转]uboot中SPL作用
查看>>
Excel VBA Range对象基本操作应用示例
查看>>
html5拖拽
查看>>
kerboros安装
查看>>
我的学习之路_第二十九章_bootstrap
查看>>
Python读取文件行数不对
查看>>
考研经验交流
查看>>
手游助手应用源码项目
查看>>
职场心得笔记
查看>>
Android context(Application/Activity)与内存泄露
查看>>
mysql 行转列
查看>>
jquery easyui 经验
查看>>
Kafka官方文档翻译——设计
查看>>
本地推送
查看>>
免费的在线文档翻译神器
查看>>
RabbitMQ --- Publish/Subscribe(发布/订阅)
查看>>
细思极恐-你真的会写java吗
查看>>
Jquery 多选下拉列表插件jquery multiselect之如何去掉默认选中项1
查看>>
安装apache Unable to correct problems, you have held broken packages
查看>>