专注微软开发平台
深入研究.NET框架

使用SignalR实时推送CPU使用率

使用SignalR实时推送CPU使用率

最近在项目中使用了SignalR实时通信技术,为了总结整个消息的推送过程,做了一个服务端向客户端实时推送CPU使用率的示例(如图),这个示例的过程是这样的:首先,客户端使用.NET框架提供的性能计数器接口获取CPU使用率并打印至控制台,然后,使用SignalR客户端类向服务端发送使用率,最后,服务端将使用率推送至每一个在线的浏览器客户端,客户端使用JS代码绘制使用率折线图。

signalr-cpu-usage-step

下载示例后,可直接在VS2013中打开,解决方案中包括Collector和Website两个项目,Collector是控制台程序,作为客户端,用于收集CPU信息,并发送至远程服务器,Website是一个MVC4项目,作为服务端,SignalR目录下有一个名为MessageHub的类,在此称它为的中继器,用于接收Collector发送过来的消息,并将消息推送至每个浏览器客户端,项目下的Default.html作为客户端存在,当然也可单独存在,其中有JavaScript连接服务端的代码,当接收到服务端推送过来的信息时,使用jquery.flot插件将使用率绘制成动态曲线。

使用SignalR的优势在于高性能,如果客户浏览器支持HTML5的WebSocket特性(主流浏览器都已支持),每个连接都是基于Socket的长连接,另外,SignalR具有向后兼容性,如果客户端浏览器不支持WebSocket特性,SignalR将自动切换到AJAX轮询等低级方式,总之,作为开发者,不需要更改任何代码,这一切的切换都是自动完成的。如果你的应用具有很强的实时性,需要向前端推送消息,不妨用用SignalR吧,下面就是示例代码的下载,希望对您有所帮助。

零度分享密钥:i6i9

零度下载

关注零度编程

深入学习 ASP.NET Core 系列视频教程

在线观看我要报名