前言
本文主要是演示一个例子,服务器后台程序从PLC采集数据,并推送给在线客户端显示,以及推送给web端进行实时的显示,还支持远程操作,支持安卓端的同步监视和远程操作,关于HslCommunication的相关资料如下
nuget地址:https://www.nuget.org/packages/HslCommunication/
github地址:https://github.com/dathlin/HslCommunication 如果喜欢可以star或是fork,还可以打赏支持。
在Visual Studio 中的NuGet管理器中可以下载安装,也可以直接在NuGet控制台输入下面的指令安装:
Install-Package HslCommunication
NuGet安装教程 http://www.cnblogs.com/dathlin/p/7705014.html
本项目的源代码地址:https://github.com/dathlin/RemoteMonitor
下面放几张截图:
服务器端的界面:
winform客户端地址:
web端的界面
所有的界面
安卓端
设计逻辑:
服务器端
主要是由数据订阅器,后台循环读取线程,在线管理器,同步网络交互网络组成。如下大致说一下各自负责的功能块:
数据订阅器
/****************************************************************************************************************
*
* 本模块主要负责进行数据的发布。只要客户端订阅了相关的数据,服务器端进行推送后,客户端就可以收到数据
*
* 因为本订阅器目前只支持字符串的数据订阅,所以在这里需要将byts[]转化成base64编码的数据,相关的知识请自行百度,此处不再说明
*
*****************************************************************************************************************/
private NetPushServer pushServer = null; // 订阅发布核心服务器
private void NetPushServerInitialization( )
{
pushServer = new NetPushServer( );
pushServer.LogNet = LogNet;
pushServer.ServerStart( 23467 );
}