当前位置: 首页 > news >正文

申请付费网站违法网站做网站的人会受罚嘛

申请付费网站,违法网站做网站的人会受罚嘛,网站建设服务描述,公司搭建一个网站目录 1. MQTT是什么#xff1f;2. 开发交互UI3. 服务器核心代码4. 客户端核心代码5. 消息订阅与发布6. 通讯测试7. MQTT与PLC通讯最后. 核心总结 1. MQTT是什么#xff1f; MQTT#xff08;Message Queuing Terlemetry Transport#xff09;消息队列遥测协议#xff1b;是… 目录 1. MQTT是什么2. 开发交互UI3. 服务器核心代码4. 客户端核心代码5. 消息订阅与发布6. 通讯测试7. MQTT与PLC通讯最后. 核心总结 1. MQTT是什么 MQTTMessage Queuing Terlemetry Transport消息队列遥测协议是一种轻量级的发布/订阅消息传输协议专为IOT、低带宽、高延迟的网络环境设计具有高效、低耗、海量设备连接特性。 1.通讯原理 发布Publisher发布消息到特定主题Topic订阅Subscriber订阅主题接收消息代理Broker消息路由管理接收发布的消息颁发给所有订阅者 示例传感器Publisher发送消息到主题Topic代理Broker接收消息并检查该主题的所有客户端订阅者Subscriber实时接收消息 2.消息结构 主题topic负载payload 3.必要条件 MQTT Broker 消息代理服务器客户端库 设备或应用需集成MQTT客户端端口 默认非加密端口 1883加密端口 8883TLS/SSL连接认证 支持用户名/密码、客户端证书等认证方式QoS服务质量/策略 QoS等级描述适用场景0最多一次无确认实时性高允许丢数据1至少一次需确认数据需可靠但不重复2精确一次握手确认关键数据严格不重复 4. 关键特性 遗嘱消息Last Will 设备异常断开时Broker 自动发布预设消息如“设备离线”通知其他客户端。 保留消息Retained Broker 保存主题的最新消息新订阅者首次连接时立即获取。 主题层级Topic Hierarchy 支持多级通配符 单层# 多层例如home/floor1/temperature; home//status匹配所有楼层状态 5.应用场景 移动设备远程监控AGV状态上报跨厂区数据汇聚通过云平台中转 2. 开发交互UI 创建WindowsFormAPP项目NuGet安装MQTTnet开源库项目-属性-框架需与程序包的依赖项一致否则安装错误PM NuGet\Install-Package MQTTnet -Version 2.8.2 控件 label、TextBox、ComboBox、ButtonListViewDock停靠视图Details小ImagelistImagelist1编辑列Infoname、Content 容器 SplitContainerOrienting垂直SplitterWith1BorderStyle边框 组件 Imagelist添加图像timerEnabledtrue、Interval1000 状态 StatusStrip系统时间、连接数量、版本说明 Server端 窗体设置Text标题、Font字体、StartPosition位置、FormBoardStyle边框给定服务IP固定端口号设置开始、停止服务、快捷打开客户端按钮设置日志消息显示窗口设置状态栏 Client端 技巧复制FrmServer修改窗口、Designer代码容器在SP1的Panel2添加SplitContainer2Listview放在SP2的Panel1中设置SP1的FixedPanel的Panel1不动设置SP2的FixedPanel的Panel2不动客户端可发布主题消息设置连接、订阅、取消订阅、发布主题按钮主题信息、给定QoS策略 3. 服务器核心代码 初始化-public FrmServer(){…} 获取IP集合Dns.GetHostAddresses绑定控件cmb_iplist.DataSource、.SelectedIndex 创建服务器对象IMqttServer-服务启动按钮点击事件 创建服务器配置 _ var optionsBuilder new MqttServerOptionsBuilder() – 验证用户密码_ .WithConnectionValidator(c ...实例化服务对象_mqttServer new MqttFactory().CreateMqttServer();创建MQTT事件方法_mqttServer.ClientConnected MqttServer_ClientConnected; – 方法日志显示_this.AddLog(0, MQTT客户端已连接 ClietID: e.ClientId.Length);启动服务_mqttServer.StartAsync(optionsBuilder.Build()); 日志对象 创建委托_public delegate void AddlogDelegate(int index, string info);委托方法_private void AddlogMothod(int index, string info){...}委托对象_private AddlogDelegate AddLog;对象绑定方法 _this.AddLog this.AddlogMothod;对象应用eg:_ this.AddLog(0, MQTT服务端已停止); 状态栏 系统时间_this.tss_time.Text DateTime.Now.ToString(yyyy-MM-dd HH:mm:ss);连接个数连接/断开事件更新_this.tss_connnum.Text mqttServer.GetClientSessionsStatusAsync().Result.Count.ToString(); 其他 停止服务_mqttServer.StopAsync();清空日志_this.lst_info.Items.Clear();打开客户端注意“重新生成解决方案”_new FrmClient().Show();当前时间_DateTime.Now.ToString(yyyy-MM-dd HH:mm:ss);关闭窗体停止服务 4. 客户端核心代码 初始化 获取IP集合Dns.GetHostAddresses绑定控件cmb_iplist.DataSource、.SelectedIndex 快捷打开客户端ServerIP、Port自动填写 创建带参数的初始化构造方法_ public FrmClient(string ip, string port) 创建客户端对象IMqttClient-客户端连接按钮点击事件 创建客户端配置_ var option new MqttClientOptions() { ClientId Guid.NewGuid().ToString(D) };创建通道配置_ option.ChannelOptions new MqttClientTcpOptions()是否启用账户_ if (this.chk_isuserpwd.Checked)创建会话配置_option.CleanSession true;创建客户端对象_mqttClient new MqttFactory().CreateMqttClient();连接服务器_ mqttClient.ConnectAsync(option);绑定事件方法添加日志_ mqttClient.Connected mqttClient_Connected; 日志显示 创建委托方法_与服务端一致创建委托对象_与服务端一致初始化对象绑定方法_与服务端一致对象引用eg_与服务端一致 其他 断开连接_mqttClient.DisconnectAsync(); 5. 消息订阅与发布 客户端可以正确连接后只有订阅与发布消息才算真正进行数据通讯消息的订阅和发布均在客户端进行服务端只需提供一个服务供客户连接桥梁的作用小节解释消息订阅发布的核心代码。 QoS服务策略下拉框获取 QoS服务策略(枚举类型)_this.cmb_qos_pub.DataSource Enum.GetNames(typeof(MqttQualityOfServiceLevel)); 消息订阅 订阅主题_mqttClient.SubscribeAsync(new ListTopicFilter(){...});1 消息取消订阅 取消订阅_mqttClient.UnsubscribeAsync(this.txt_topic_sub.Text); 消息发布 创建消息对象_ var msg new MqttApplicationMessage(){...} 2发布消息_mqttClient.PublishAsync(msg); 6. 通讯测试 7. MQTT与PLC通讯 将msg对象中的Payload更改为PLC的寄存器即可 自动发布 添加定时器timer1_设置频率事件消息内容自动发布连接成功时启动定时器_ this.timer1.Enabled true; 消息内容 添加引用西门子通讯库创建PLC对象读取PLC变量添加到msg中的Payload中_Payload Encoding.UTF8.GetBytes(plcmsg), 最后. 核心总结 1. 开发实现 服务端 功能IP/端口配置、启动/停止服务、连接监控初始化 MqttServer 对象处理连接/断开事件日志记录、状态更新 客户端 功能连接/断开、订阅/取消主题、消息发布配置 MqttClientIP、端口、认证实现订阅 (SubscribeAsync) /发布 (PublishAsync) 2. 进阶应用 PLC 集成 自动发布定时器读取 PLC 数据并推送数据格式Payload 封装寄存器值如 Siemens PLC 数据 异常测试 基础测试服务端启停、客户端连接/断开消息流验证订阅发布功能、QoS 策略生效异常测试网络断开重连、遗嘱消息触发 附关键代码片段 服务端启动 var options new MqttServerOptionsBuilder().WithDefaultPort(1883).Build(); mqttServer new MqttFactory().CreateMqttServer(); mqttServer.StartAsync(options);客户端发布消息 var msg new MqttApplicationMessage {Topic sensor/temp,Payload Encoding.UTF8.GetBytes(25℃),QoS MqttQualityOfServiceLevel.AtLeastOnce }; client.PublishAsync(msg);PLC 数据读取 var plcValue SiemensPLC.Read(DB1.DBD0); // 读取浮点数 var payload ${{\temperature\: {plcValue}}};源码链接 创建TopicFilter对象_new TopicFilter(this.txt_topic_sub.Text (MqttQualityOfServiceLevel)Enum.Parse(typeof(MqttQualityOfServiceLevel),this.cmb_qos_sub.Text)) ↩︎ 消息对象赋值_ Topic this.txt_topic_pub.Text, QualityOfServiceLevel (MqttQualityOfServiceLevel)Enum.Parse(typeof(MqttQualityOfServiceLevel), this.cmb_qos_pub.Text), Payload Encoding.UTF8.GetBytes(this.txt_msg_pub.Text), Retain false, ↩︎
http://www.hkea.cn/news/14341118/

相关文章:

  • 云南省建设工程造价管理协会网站怎样把网站做的更好
  • 海外seo网站建设手机网站和微信网站的区别
  • 承德市建设局网站温江做网站的公司
  • 加强网站建设的意见海南建设局相关网站
  • 企业网站优化哪家好顺德搜索seo网络推广
  • 上传网站安装教程视频教程优秀旅游网站设计
  • 住房和城乡建设部科技发展促进中心网站建筑企业
  • 网站申请服务器空间宜宾做网站公司
  • 网站开发的著作权归谁做一个网站的费用构成
  • 福州市网站建设站长网站素材
  • 网站开发难点分析设计公司logo需要多少钱
  • pc端网站开发建筑工程机械人才网
  • 广州万网建网站做外链的博客网站
  • 哈尔滨cms模板建站便宜网站建设模板网站
  • 公司制作网站需要百姓网二手拖拉机
  • 蓝韵官方网站海外酒店 网站建设
  • 承德的网站建设公司钢琴网站建设原则
  • 西安便宜的网站建设广告投放报价
  • 手机电脑网站排名seo是什么品牌衣服
  • 大米品牌推广方案seo推广员是做什么的
  • 网站不备案百度收录吗网站开发后期工作包括那两个部分
  • 咸宁响应式网站建设价格泰安哪个做网站
  • 网站可以叫做系统吗制作h5免费平台
  • 用mockplus做网站原型wordpress用户前端创建相册
  • 网站建设协议书范本建筑公司会计做账及报税流程
  • 一般建站需要多少钱文化网站模版
  • 网站优化推广教程汕头模板网建站
  • 信息网站建设的意义wordpress主题iphoto
  • 做枪版电影网站赚钱潍坊网页模板建站
  • 昆明网站建设教学视频网站设置万事达u卡