• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > HTML5-WebSocket实现对服务器CPU实时监控

HTML5-WebSocket实现对服务器CPU实时监控

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含HTML5教程,HTML5中国,HTML5-WebSocket实现对服务器CPU实时监控,html5cn,html5资料等相关知识,匿名希望在学习及工作中可以帮助到您

由于WebSocket允许保持长连接,因此当建立连接后服务器可以主动地向Client发送相关信息.下面通过服务端获取当前CPU的使用情况主动发送给网页,让网页实时显示CPU使用情况的曲线图.该事例的主要功能是包括服务端获取CPU使和情况和HTML5使用canvas进行曲线图绘制.


应用效果


实现效果主要是模仿windows的任务管理器,显示每个核的工作情况.


C#获取CPU使用情况

可能通过PerformanceCounter来获取具本CPU线程的使用情况,不过在构建PerformanceCounter前先获取到CPU对应的线程数量.获取这个数量可以通过Environment.ProcessorCount属性获取,然后遍历构建每个PerformanceCounter

(int i = 0; i < coreCount; i++) PerformanceCounter("Processor", "% Processor Time", i.ToString()));


为了方便计数器的处理,简单地封装了一个基础类,完整代码如下:

class ProcessorCounter List mCounters = new List(); IList Counters mCounters; void Open() coreCount = Environment.ProcessorCount; (int i = 0; i < coreCount; i++) PerformanceCounter("Processor", "% Processor Time", i.ToString())); ItemUsage[] GetValues() ItemUsage[mCounters.Count]; (int i = 0; i < mCounters.Count; i++) ItemUsage(); +i.ToString(); values; class ItemUsage string Name { get; set; } float Percent { get; set; } string ID { get; set; }


这样一个用于统计CPU所有线程使用情况计数的类就完成了.


页面绘制处理

首先定义一些简单的处理结构

Array(); (var i = 0; i < 50; i++) { Point(0, 0)); Point(x, y) {


主要定义线程信息结构,默认初始化50个座标,当在接收服务线程使用情况的时候,构建一个点添加到数组件尾部同时把第一个移走.通过定时绘制这50个点的曲线这样一个动态的走势就可以完成了.

canvas = document.getElementById('processimg' + item.Item.ID); context = canvas.getContext('2d'); (var i = 0; i < item.Points.length; i++) { addUploadItem(info) { (cpus[info.ID] == null) { pinfo = new ProcessorInfo(); + info.ID + '" width="200" height="110">').appendTo($('#lstProcessors')); Point(0, info.Percent)); { pinfo = cpus[info.ID]; Point(0, info.Percent));


只需要通过定时器来不停地更新线程使用绘制即可.

() { (var i = 0; i < processors.length; i++) {


服务端

对于服务端其实可以根据自己的需要来使用websocket协议实现,.net 4.5也提供相应的封装.而这里则使用了beetle对应websocket的扩展协议包,整体代码如下:

Program : WebSocketJsonServer void Main(string[] args) Program(); ProcessorCounter(); (true) (ItemUsage item in items) JsonMess

您可能想查找下面的文章:

  • 一款利用html5和css3动画排列人物头像的实例演示
  • html5教程调用绘图api画简单的圆形代码分享
  • html5教程画矩形代码分享
  • html5教程制作简单画板代码分享
  • html5基础教程常用技巧整理
  • html5教程-Canvas入门
  • html5教程画矩形代码分享
  • HTML5晃动DeviceMotionEvent事件
  • HTML5教程之html 5 本地数据库(Web Sql Database)
  • HTML5中对contenteditable属性的解释与规定

相关文章

  • 2018-12-03小强的HTML5移动开发之路(48)——(小练习)新闻订阅系统【1】
  • 2018-12-03分享一个HTML5电子杂志翻书特效代码
  • 2018-12-03H5制作一个计时器的代码演示
  • 2018-12-03HTML5本地存储之Web Storage应用介绍_html5教程技巧
  • 2018-12-03HTML5-表单输入验证详解(图文)
  • 2018-12-03vue项目中如何映入noVNC远程桌面
  • 2018-12-03h5表单介绍和表单验证失败问题实例
  • 2017-08-06HTML5 拖放功能实现代码
  • 2018-12-03HTML5游戏开发-Box2dWeb应用(二)-碰撞以及各种连接
  • 2017-08-06html5的画布canvas——画出弧线、旋转的图形实例代码+效果图

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • HTML5 离线应用之打造零请求、无流量网站的解决方法
    • 在今天,利用 HTML5 开发和发布大型跨平台网游,可行性如何?要解决哪些问题?
    • 有关hgroup的文章推荐7篇
    • 下载新浪微博视频和秒拍视频的方法
    • js里x===y,3个=是什么意思?
    • html5 canvas-1.canvas介绍(hello canvas)_html5教程技巧
    • Html5文件异步上传功能的实现
    • svg的案例详解
    • 详细介绍7 款超具个性的 HTML5 播放器的图文详解
    • 浅析border-radius如何兼容IE_html5教程技巧

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有