上位机软件干货(1)——TcpClient通信(c#、winform)

155 篇文章 164 订阅

前言:
我们在写上位机软件的过程中,经常需要和各种仪器通信,比如机械手、工业相机、扫码枪、流量计等,由于网口tcp通信比串口通信稳定,且通信距离较长,等一系列优势,所以现在tcp网络通信变得越来越普及,而tcp通信的程序分为客户端和服务器端,并且绝大多数的应用都是我们上位机软件都是客户端程序,据此本人将平时项目中使用的tcp客户端程序进行了总结,如下:
在这里插入图片描述
在这里插入图片描述

上述软件具备以下功能:
1、断线自动连接:
2、循环发送
3、数据接收
4、一次性接收任意数据量,可超过定义的buffer大小

尤其是本软件对断线重连采用状态机的写法来实现,软件非常稳定,在多个上位机项目中使用。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
上位机软件通常用于与嵌入式设备(如单片机、传感器等)进行通信,以便监测、控制或调试嵌入式系统。C# 语言可以用于开发上位机软件,并且支持多种通信协议,如串口通信、TCP/IP 通信、UDP 通信等。下面简单介绍一下如何使用 C# 开发上位机软件并进行通信。 1. 首先,需要选择一个适合自己的通信协议。通常情况下,串口通信是最常用的通信协议之一。可以使用 C# 中的 `System.IO.Ports` 命名空间来进行串口通信。例如: ```csharp using System.IO.Ports; SerialPort serialPort = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One); serialPort.Open(); serialPort.WriteLine("Hello, world!"); ``` 上面的代码使用 `SerialPort` 类打开 COM1 端口,并向串口发送一条消息。 2. 对于 TCP/IP 通信和 UDP 通信C# 中也提供了相应的类库。例如,使用 `System.Net.Sockets` 命名空间可以进行 TCP/IP 通信。例如: ```csharp using System.Net.Sockets; TcpClient tcpClient = new TcpClient("127.0.0.1", 1234); NetworkStream stream = tcpClient.GetStream(); byte[] data = Encoding.ASCII.GetBytes("Hello, world!"); stream.Write(data, 0, data.Length); ``` 上面的代码使用 `TcpClient` 类连接到本地主机的 1234 端口,并向服务器发送一条消息。 3. 在开发上位机软件时,还需要了解如何解析和处理来自嵌入式设备的数据。通常情况下,需要使用相应的协议来解析数据。例如,如果使用的是自定义协议,则需要编写相应的解析代码。如果使用的是标准协议(如 Modbus、CAN 等),则可以使用现有的协议解析库。 总之,C# 是一种非常适合开发上位机软件的语言,并且提供了丰富的类库和工具来支持各种通信协议。在开发上位机软件时,需要选择适合自己的通信协议,并且编写相应的通信和数据处理代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

c#上位机

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值