windows平台上实现websocket服务器
windows平台上实现websocket服务器
目前做个项目需要做个带串口的测试软件,主要功能是一台电脑利用串口控制一台待测试设备,然后通过串口对他进行调试,同时使用串口采集其他测量设备的数值,将测试过程的数据保存进数据库,及实时的曲线等显示。由于需要同时进行一些文档处理,且操作人员习惯个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文档传来传去了。
希望这个方案能给大家一点建议 。
windows平台上实现websocket服务器相关推荐
- 细数 Windows 平台上的 NoSQL 数据库
从可查询的分布式解决方案,如MongoDB,到简单的分布式Key/Value存储解决方案,如Cassandra.此外,还有Riak,Tokyo Cabinet,Voldemort,CouchDB和Re ...
- 在Windows平台上安装Node.js及NPM模块管理
1. 下载Node.js官方Windows版程序:http://nodejs.org/#download 从0.6.1开始,Node.js在Windows平台上提供了两种安装方式,一是.MSI ...
- 在Windows平台上安装Dubbox框架
在Windows平台上安装Dubbox框架 一.分布式系统概述 分布式处理方式越来越受到业界的青睐--计算机系统正在经历一场前所未有的从集中式向分布式架构的变革.分布式系统是一个硬件或软件组件分布在不 ...
- Windows平台上安装搭建iPhone/iPad的开发环境
很多朋友希望在体验或学习iphone开发,但是iphone开发环境一般需要 安装在mac计算机下mac os中. 这给许多朋友带来了额外成本投入. 网上已经有各种破解方法,在非苹果电脑上安装iphon ...
- 正版软件 Directory Opus 12 Pro Windows 平台上的资源管理器,定是功能完全、可定制化程度高的那款。
Directory Opus 是一款 Windows 平台上的资源管理器,定是功能最完全.可定制化程度最高的那款.你可以通过它完成几乎所有操作,包括查看图片元信息.预览图片.阅读文本文件内容.批量重命 ...
- 安卓平台及windows平台上基于Gazebo仿真器的px4遥控控制
这里写自定义目录标题 安卓平台及windows平台上基于Gazebo仿真器的px4遥控控制 数据链路描述 安卓平台简介 安卓平台四旋翼无人机控制 安卓平台固定翼无人机控制 安卓平台无人车控制 安卓遥控 ...
- x264代码剖析(一):图文详解x264在Windows平台上的搭建
x264代码剖析(一):图文详解x264在Windows平台上的搭建 X264源码下载地址:http://ftp.videolan.org/pub/videolan/x264/ 平台:win7 PC. ...
- (转)在Windows平台上安装Node.js及NPM模块管理
本文转载自:http://www.cnblogs.com/seanlv/archive/2011/11/22/2258716.html 之前9月份的时候我写了一篇关于如何在Windows平台上手工管理 ...
- 在IIS上搭建WebSocket服务器(三)
在IIS上搭建WebSocket服务器(三) 原文:在IIS上搭建WebSocket服务器(三) 编写客户端代码 1.新建一个*.html文件. ws = new WebSocket('ws://19 ...
最新文章
- github bilibili
- 对2014年,关于轻应用的五大预言
- 机器学习week3课后作业
- HD 2044 一只小蜜蜂(递推)
- 自训练 + 预训练 = 更好的自然语言理解模型
- 树形结构:寻找共同祖先
- selenium模拟鼠标和键盘操作的基本方法
- vue 不能响应set结构增加数据_Vue.set()动态的新增与修改数据,触发视图更新的方法...
- 高性能的MySQL(2)慢查询
- php二维码存放json数据_PHP生成及获取JSON文件的方法
- oracle归档模式备份恢复,oracle归档模式备份恢复
- Unity Shader 记录
- 学用MVC4做网站五:5.2我的文章
- windows下面NTP服务器配置,局域网
- linux中MIB与MB单位的区别
- HTML颜色值的设置
- (原创)二十一天定律
- 献给2020年度虚假繁荣程序员的自己
- Android知识点 200 —— framework/base/cmds 常见的am命令,input,pm命令
- docker使用docker compose file部署项目时,实现容器卷挂载,并对容器内文件夹赋予权限