0 引言
浏览器插件是当前应用范围较为广泛的技术之一,如常见的adobe flash player,可用来在网页中嵌入并播放视频,再有各大银行门户网站中常见的安全网银控件等等[1]。目前主流浏览器插件技术主要包括Microsoft的ActiveX插件技术、Mozilla的NPAPI插件技术以及Google的PPAPI插件技术,而国内互联网公司推出的一些浏览器基本上采用了以上几个国外厂家的浏览器内核,所以在插件技术上并没有突破创新。
当软件系统采用基于B/S架构模式进行开发,原本适配C/S架构模式的插件工具,如人脸采集仪、指纹采集仪等通常无法直接集成于网页端,而这些设备的开发商往往仅提供一个简单的开发工具包,开发人员必须根据不同浏览器各自指定的插件技术开发规范开发不同版本的插件实现兼容适配,不仅需要开发三种以上不同技术版本的插件代码,同时也不可避免地存在重复工作,无形之中增加了程序出错的概率。目前尚没有一种插件技术能够同时兼容多种浏览器,并实现无缝对接使用,而不同浏览器厂商出于安全考虑对各类插件的使用权限也做了不同程度的限制,导致应用系统在调用插件的时出现调用失败、页面无反应甚至直接被禁用等情况。
WebSocket同http一样,都是基于TCP的可靠性传输协议[2],且都工作在应用层中,但webSocket仅需完成一次握手便可建立持久连接,并可进行双向数据传输,且可以主动向浏览器等客户端发送数据,数据当中也不必再带有head的部分信息了。与http的长链接通信相比,不仅降低了系统压力,而且也减少了部分多余的信息,节省
了带宽。本文提出了一种基于websocket协议的、可适配多种浏览器的插件开发方法。该方法依托websocket协议建立浏览器与插件之间的可靠持久性连接,以此支持浏览器调用插件开放的各服务功能接口,大大减轻了技术人员的开发、调试及维护工作量,有效规避了因浏览器版本差异等问题导致的插件服务调用失败、页面无反应甚至直接被禁用等情况,较好满足了用户及系统使用需求[3]。
1 插件设计
为实时监听并响应来自浏览器的接口调用请求,插件应作为websocket的服务端,实际生产环境中还应注册为操作系统的开机启动服务,同时允许本地防火墙允许开放websocket服务端监听端口。当作为客户端的浏览器开启并访问特定应用网站时,若某个页面集成了如人脸采集仪、指纹采集仪的相关功能,当用户需要使用这些功能时,浏览器便会按照相关流程完成功能接口调用。
websocket连接必须由浏览器发起,因为初始请求为一个标准的http请求,格式如图1所示。
图1所示请求和普通的http请求有几点不同:(1)该请求为GET 方式的请求,请求地址以ws://开头;(2)请求头中Upgrade和Con-n e c t i o n 表示该连接将要被转为W e b S o c k e t 连接;(3)S e c -WebSocket-Key用于标识这个连接;(4)Sec-WebSocket-Version指定了WebSocket的协议版本。
当插件服务成功接受该请求后,会返回如图2所示的响应内容,其中响应代码101表示本次连接的http协议即将被更改,更改后的协议就是websocket协议,版本号和子协议规定了双方能理解的数据格式,以及是否支持压缩等。
当浏览器和插件成功建立websocket连接后,浏览器和插件之间就可以随时主动发送消息给对方了。插件封装的服务接口视具体需要的操纵本地设备而定,通常设备厂家会提供该设备在不同操作系统下的功能开发库,以供开发者根据业务需求来定制自己的插件功能。
2 插件测试
为验证基于websocket的适配多种浏览器的插件开发方法在实际应用中的可行性,本文开发了一套测试系统,该测试系统主要由浙江中正智能科技有限公司开发的MR-210台式身份证阅读机具、基于该阅读机具的非接触式Type-A卡读写功能库开发的插件服务程序以及一个简单的浏览器网页应用程序(部署在tomcat上)组成。
收稿日期:2019-12-30
作者简介:严伟苗(1985—),男,浙江绍兴人,博士研究生,工程师,研究方向:物联网技术研究应用。
基于websocket 的
适配多种浏览器的插件开发方法
严伟苗 诸葛杨杨 刘瑞 邹翔
(杭州易和网络有限公司,浙江杭州 310012)
摘要:针对当前各类浏览器插件不兼容问题,本文提出了一种基于websocket的适配多种浏览器的插件开发方法。关键词:浏览器;web sock et ;插件;连接中图分类号:TP311.1文献标识码:A 文章编号:1007-9416(2020)02-0108-01
DOI:10.19695/jki12-1369.2020.02.59
设计开发
图1 WebSocket连接请求格式
图2 插件服务响应内容
······下转第110页
第 38 卷 数字技术与应用 www.szjsyyy
Websocket-based Plug-in Development Method Adapted to Multiple Browsers
YAN Wei-miao, ZHUGE Yang-yang, LIU Rui, ZOU Xiang
如何制作网页插件(Hangzhou Yihe Network Co., Ltd., Hangzhou Zhejiang 310012)
Abstract:In view of the incompatibility of various browser plug-ins, this paper proposes a web socket based plug-in development method which adapts to multiple browsers.
Key words:browser; websocket; plug-in; connection
测试时需要先启动插件服务程序,启动成功后会提示“开启websocket插件服务,等待连接…”,然后在浏览器中输入应用程序网址(localhost:8080/websocket_client.html),并在弹出的网页服务插件地址栏中输入服务连接地址(ws://127.0.0.1:3000),连接成功后,下方响应详细框中会提示“连接成功”。为方便测试,本文定义在请求输入框中输入“0”表示读卡,输入“1|JSON格式卡片数据”表示写卡。
当浏览器端请求数据为0时,若请求成功,插件服务程序会提示“收到来自客户端的读卡请求”,然后读取卡片数据并将数据返回给浏览器端。当浏览器端请求数据为“1|{“u se r N am e ”:“张三”,“zoneName”:“宋都凯旋苑”,“buildingNum”:“01”,“unitNum”:“01”,“floorNum”:“10”,“roomNum”:“1002”,“beginTime”:1577426791,“endTime”:1609049191,“rollingCode”: 0,“cardType”: 11}”时,若请求成功,服务端会提示“收到来自客户端
的写卡请求”,然后将待写入数据写入卡片中,并将写卡结果返回给
浏览器。从二次读卡结果看,卡内数据已被成功覆写。
3 结语
为适配多种浏览器,降低开发维护成本,本文提出了websocket 的插件开发方法,该方法可不再遵循各个浏览器的插件开发规约,只需定义服务端与浏览器端的接口规范,在满足用户需求的同时大大简化了开发流程。参考文献
[1] 汪诗林,吴泉源.WWW浏览器插件开发技术[J].计算机应用研究,2000(4):55-57.
[2] 湖北省数字证书认证管理中心有限公司.一种基于http的web 插件调用方法及系统:CN201611216467.5[P].2017-05-31.
[3] Coward D. Java WebSocket Programming[M]. New York: McGraw-Hill,2014.
(1)考勤:在端手动开启签到和签退流程,可设置只有一次签到;(2)方式:采用二维码跳转感应或直接感应签到;(3)课堂风采:学员可以在手机端发表这堂课的精彩瞬间,以图片加描述形式;(4)签退的方式:以2道调查题目打分,提交自动发起签退流程。
3.5 报表模块
(1)课程统计:课程名、开课时间、地点、报名人数、完成签到人数、没完成签到人数和课程满意度折算分值;(2)工作室统计:工作室名、开课数和参与学习人数等。
3.6 通知功能模块
(1)课程发布通知:课程发布后,通过自动发送课程信息给本工作室成员,并统计成员阅读情况,对没有阅读的可一键式提醒;(2)签到签退提醒:提醒成员签到和签退,统计完成操作的成员,对没完成的提醒。4 应用和展望
系统开发好后,经过培训并告知技术支持联络人,运行一段时间
后,效果很好。区级管理部门能通过系统了解到,哪些工作室开展了活动,并能了解到这些活动的反馈情况。工作室主持人通过手机就可以快速发布课程,课程会自动发信息给成员,主持人还可以继续提醒成员参加。课程的签到,成员在服务号中,点“签到”即可,非常方便。工作室主持人和成员在系统中的操作都非常简洁。系统运行中,工作室主持人需要随身携带蓝牙设备,主持人有可能忘记带设备,需要主持人在中手动给参加成员设置签到。
系统的运行,离不开管理制度和及时的技术支持。制度上和继续教育学时结合,保证了老师参加工作室活动的积极性。严格的考勤制度,对参加活动的教师是一种认可和肯定。参考文献
[1] 夏发优,张锦鹏,徐自立,等.iBeacon和指纹数据的现场考勤系统[J].福建电脑,2019,35(06):90-92.
[2] 郭玲.基于iBeacon 技术的“摇一摇”考勤系统的实现[J].深圳职业技术学院学报,2016,15(01):19-23.
The Design and Implementation of Management System of Famous Teachers' Studio
Based on Bluetooth Attendance Technology
XIA Cheng-bo
(Shenzhen Longgang District Teacher Training School, Shenzhen Guangdong 518172)
Abstract:The district-level famous teacher studio management system is used to manage the activities carried out by a number of famous teacher studios in the district. Its purpose is to facilitate famous teachers to carry out activities and record the participation of studio members. Through the system,the district-level managers can timely understand the work of the studios of the whole district. The system is developed in combination with the WeChat service number and it can confirm the attendance of the studio members through bluetooth. This paper introduces the design idea, realization method and module function of this management system so as to provides references for similar systems.
Key words:master studio; management system; bluetooth attendance; wechat service number
······上接第108页
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论