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

C# 关于通讯观察线程(1) -- 开启通讯线程

通讯观察线程是个有意思,又是非常实用的功能。

具体怎么实现呢,我们来看看主要过程的伪代码。对于高手这也许很简单,但是要用好也是需要实践到通讯的流程正确,同时应对好网络故障等。

先在合适的地方启动观察线程:

/// <summary>
/// 通讯观察线程,每3秒观察一次
/// </summary>
System.Timers.Timer communicationobserve_timer = new System.Timers.Timer(1000 * 3);

communicationobserve_timer.Elapsed += new System.Timers.ElapsedEventHandler(CommunicationObser);

communicationobserve_timer.Enabled = true;

这样通讯线程开起来了。

/// <summary>
/// 通讯状态观察
/// </summary>
private void CommunicationObser(object sender, ElapsedEventArgs e)
{try{communicationobserve_timer.Enabled = false;var resultList = GetOrder.GetMesDispatchInfo();if (resultList != null){ShowMsg($"\n"); //以下是业务代码if (resultList.Count != -1 && resultList.Data != null){LogHelper.Info(JsonConvert.SerializeObject(resultList));   #region //以下是业务代码//....//....//....#endregion }            }else{ShowMsg($"发生错误:返回为空,如果是网络断线请稍后重试");}}catch (Exception ex){ShowMsg($"发生错误:返回通讯方法错误!请联系管理员");LogHelper.Error($"观察线程异常:{ex.Message}", ex);}finally{communicationobserve_timer.Enabled = true;}
}

上面是通讯的内容,我就滤过业务代码,因为重点其实是后面,断线重连。断线重连在下一节介绍。C# 关于通讯观察线程(2) -- 断线重连-CSDN博客

http://www.lryc.cn/news/381927.html

相关文章:

  • 15.树形虚拟列表实现(支持10000+以上的数据)el-tree(1万+数据页面卡死)
  • 【服务器07】之【GitHub项目管理】及【Unity异步加载场景】
  • ansible提权之become_method与become_flags详解
  • elementui的el-dialog组件与el-tabs同时用导致浏览器卡死的原因解决
  • 基于图扑 HT for Web 实现拓扑关系图
  • linux笔记10--编辑器之神VIM
  • 安全管理中心-集中管控(6点)
  • 使用electron打包Vue前端项目的详细流程
  • 《计算机英语》 Unit 4 Information Management 信息管理
  • 如何打包数据库文件
  • iOS抓包指南 正则过滤爬取
  • FLASH仿真EEPROM---基于智芯Z20K11XM
  • 阿里云PAI大模型评测最佳实践
  • 应用图扑 HT for Web 搭建拓扑关系图
  • Django Aggregation 使用指南
  • 嵌入式学习——Linux操作系统——文件编程练习
  • 用JavaScript实现了一个简单的图像坐标点标注工具
  • Pytorch深度解析:Transformer嵌入层源码逐行解读
  • HSP_10章 Python面向对象编程oop_基础部分
  • JavaWeb系列十七: jQuery选择器 上
  • Gone框架介绍30 - 使用`goner/gin`提供Web服务
  • Lipowerline5.0 雷达电力应用软件下载使用
  • STM32学习之一:什么是STM32
  • AI绘画Stable Diffusion 超强一键去除图片中的物体,免费使用!
  • 零基础STM32单片机编程入门(一)初识STM32单片机
  • Github上前十大开源Rust项目
  • 硬件开发笔记(二十):AD21导入外部下载的元器件原理图库、封装库和3D模型
  • 竞赛选题 python opencv 深度学习 指纹识别算法实现
  • RK3568开发笔记(三):瑞芯微RK3588芯片介绍,入手开发板的核心板介绍
  • EtherCAT主站IgH解析(二)-- 如何将Igh移植到Linux/Windows/RTOS等多操作系统