赞
踩
目前做个项目需要做个带串口的测试软件,主要功能是一台电脑利用串口控制一台待测试设备,然后通过串口对他进行调试,同时使用串口采集其他测量设备的数值,将测试过程的数据保存进数据库,及实时的曲线等显示。由于需要同时进行一些文档处理,且操作人员习惯个windows。
这样一个需求最正统的方案肯定是使用VC做开发。但是VC做UI,显示图标啥的,涉及太深的api,实在没心情研究,于是想了个自认为奇葩的办法,就是使用浏览器做UI,然后用c开发一个控制台程序,做一个websocket服务器。web做简单的UI入门相对简单。目前浏览器都支持html5,然后开个全屏发现效果还不错基本和VC的UI可以以假乱真。
C开发websocket时碰到问题,websocket内需要SHA1算法,如果使用openssl的库,说实话,做个库对win平台不太友好,还好网上有大神贴出来的单独的函数。
做websocket服务器主要有以下几点原理需要明确:
A、websocket和普通的TCP的区别:
1、在于它每次传输的时候都加了一个头。
2、它有一个握手协议,做个里面有个SHA1和base64的算法。如果可以的话建议在linux平台做。
3、它的头里面包含一个使用ascii还是bit传输的标志,如果需要大数据,明显bit传输合适,使用JavaScript的相关函数就 能解析了。
B、UI主要需要使用到JavaScript,HTML5.如果需要数据库的话就使用php。搭建平台我是安装了wampserver3.1.0_x86,全部搞定。
实践下来性能完全够用,每5秒存一次数据库,能够正常显示曲线数据。还有个优点是,我有4台测试电脑,web服务器之转一台,这样都不用和以前一样将excel文档传来传去了。
希望这个方案能给大家一点建议 。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。