这个周研究了一个技术,web访问计算机硬件,如串口通信,看起来应该有很成熟的解决方案,但是我用两天的时间都没确定出一个可行的方案,有满足需求收费的方案,但是也不能买到源码,况且我们本来就是开发项目的这种问题肯定要自己解决,按照我以往做项目处理问题的方式,找到最优方式想清楚实现过程然后再完成敲代码的工作,,于是我在已知几种方式中进行了反复对比和分析,然而各种方案都有一定的局限性,已知的成熟解决方案是我没用过的技术语言,要在学习的成本和功能效果之间进行平衡
这个问题主要有三种解决方案:
插件方式
浏览器不能直接访问硬件接口,微软采用Active插件的方式进行访问,而插件只支持IE浏览器,IE浏览器已经不进行更新了,慢慢退出主流浏览器,其他浏览器如Chrome、Firefox和Opera等就不支持ActiveX插件,Chrome43之前的NPAPI解决方案因为安全原因被chrome摒弃,必须用PPAPI重写插件作为连接浏览器和IE内核的桥梁,大概是这种方式太麻烦,网上也没有见到成熟可用的代码;
winform单独桌面程序
优点是容易实现,缺点是用户的机器必须额外安装.net(要避开这一步,需要使用C++编写访问串口程序),以及打开web页面的同时还要启动winform程序,操作起来不方便;
node服务方式
我比较倾向于这种方式,但是由于项目组成员对node都不熟悉,领导担心遇到问题不好解决,加之这种方式需要开机启动服务,读写文件,步骤较繁琐但比较清晰,也确定可以实现。
在和领导讨论后,综合各方面的因素,决定采用第一种方式,不过为了降低开发的难度,考虑到web访问硬件的业务不多,目前领导要求仅支持IE就可以了,于是周五很快把程序测试成功并应用于项目中。
网友评论