概述最近经常有网页联系我,反馈为什么他按我说的方法,写的HTML代码,无法在chrome网页中运行 。这里我统一做一个解释,我发现好多网页并没有理解我的意思 。其实,要实现在HTML中进行串口或者TCP通讯,有两种方案 。
方案一:专用浏览器【关于网页实现串口或者TCP通讯的说明】具体的实现方法就是,一般会使用Cef来开发一个浏览器,然后将串口和TCP的通讯功能,扩展出来,以实现在HTML中,可以调用扩展脚本,实现通讯 。相当于浏览器的壳代理了一下 。这种方案呢,你写的HTML通讯代码,就只能使用专用的浏览器,不支持在其他浏览器中使用 。这个在我博客中能够找到案例 。这种方案的好处呢,就是你发给客户一个专用的浏览器,来展示你的平台系统 。客户不需要安装其他的软件 。
方案二:本地CS客户端代理具体的实现方法就是,你写一个CS的代理程序实现通讯功能,同时开放出来一个websocket通讯API,网页呢,通过websocket与代理程序交互,实现通讯功能 。因为HTML使用的是通用的websocket来实现串口通讯,所以主流浏览器都会支持 。这种方案呢,你写的HTML通讯代码,可以在任何浏览器上运行,任何通用浏览器都可以使用,但是必须在客户的电脑上安装一个CS客户端代理一下 。这种方案的好处呢,是你需要在客户电脑上安装一个代理程序,然后客户就不限制浏览器了,用啥浏览器都可以,不改变用户的使用习惯 。
总结由于浏览器考虑到安全,HTML在浏览器上访问时,是不允许访问本地资源的 。本地资源包含本地的磁盘,串口设备等等 。所以一般的HTML是无法实现通讯功能的 。很多同学,误以为有什么捷径可以实现,其实是没有的 。我的这两种方案只是一种拆中的方案,可以变相的实现而已,体验上都会有折扣 。而且通常情况下windows平台用户会多一些,一般不考虑多平台 。在网页中实现通讯功能的,多数也还是用CS来实现,毕竟相对稳定一些 。如果场景比较少,可以采用上面的方案 。技术没有对与错,在什么情况下最合适就用什么技术,这就是对的 。
经验总结扩展阅读
- .net core Blazor+自定义日志提供器实现实时日志查看器
- 九 前后端分离项目:实现"添加"功能(后端接口)
- 小样本利器4. 正则化+数据增强 Mixup Family代码实现
- 服装尾货批发3一5元在哪里进货
- 品牌运动服装尾货进货渠道有哪些
- 玉脸是什么意思网络用语
- 白嫖是什么意思网络用语
- 永动机为什么不能实现
- 生孩子送什么礼物合适
- 早立秋和晚立秋怎么分