首页 > 其他分享 >WinForm上位机常用的通信方式有以下几种:

WinForm上位机常用的通信方式有以下几种:

时间:2023-11-22 12:37:10浏览次数:32  
标签:string buffer void System 几种 上位 using public WinForm

WinForm上位机常用的通信方式有以下几种:

  1. 串口通信:使用SerialPort类实现。

示例代码:

using System;
using System.IO.Ports;

public class SerialPortExample
{
    private SerialPort _serialPort;

    public SerialPortExample(string portName, int baudRate)
    {
        _serialPort = new SerialPort(portName, baudRate);
        _serialPort.Open();
    }

    public void SendData(string data)
    {
        _serialPort.Write(data);
    }

    public string ReceiveData()
    {
        return _serialPort.ReadExisting();
    }

    public void Close()
    {
        _serialPort.Close();
    }
}
  1. TCP通信:使用Socket类实现。

示例代码:

using System;
using System.Net;
using System.Net.Sockets;

public class TcpClientExample
{
    private TcpClient _tcpClient;

    public TcpClientExample(string ipAddress, int port)
    {
        _tcpClient = new TcpClient(ipAddress, port);
    }

    public void SendData(string data)
    {
        byte[] buffer = Encoding.UTF8.GetBytes(data);
        _tcpClient.Send(buffer);
    }

    public string ReceiveData()
    {
        byte[] buffer = new byte[1024];
        int received = _tcpClient.Receive(buffer);
        return Encoding.UTF8.GetString(buffer, 0, received);
    }

    public void Close()
    {
        _tcpClient.Close();
    }
}
  1. UDP通信:使用UdpClient类实现。

示例代码:

using System;
using System.Net;
using System.Net.Sockets;

public class UdpClientExample
{
    private UdpClient _udpClient;

    public UdpClientExample(string ipAddress, int port)
    {
        _udpClient = new UdpClient(ipAddress, port);
    }

    public void SendData(string data)
    {
        byte[] buffer = Encoding.UTF8.GetBytes(data);
        _udpClient.Send(buffer, buffer.Length);
    }

    public string ReceiveData()
    {
        byte[] buffer = new byte[1024];
        int received = _udpClient.Receive(buffer);
        return Encoding.UTF8.GetString(buffer, 0, received);
    }

    public void Close()
    {
        _udpClient.Close();
    }
}

标签:string,buffer,void,System,几种,上位,using,public,WinForm
From: https://www.cnblogs.com/caozhengze/p/17848715.html

相关文章

  • wpf和winform的优缺点
    WPF(WindowsPresentationFoundation)和WinForm(WindowsForms)是两种不同的Windows应用程序开发框架。以下是它们的优缺点:WPF(优点):基于.NETFramework,与XAML语言结合,易于设计界面。强大的图形和动画功能,适用于创建具有丰富视觉效果的应用程序。支持Orientation和Resolution变化,......
  • DB2存储过程,输出数据集的几种方式汇总
    1----------------1、直接输出数据集-------------------2CREATEORREPLACEPROCEDURE"BI_DM"."SP_XINGUANQUERY"(3startdatevarchar(20)4,enddatevarchar(20)5,querydiagnamevarchar(64)6)7dynamicresultsets18LAN......
  • 3种Sentinel自定义异常,你用过几种?
    SpringCloudAlibabaSentinel是目前主流并开源的流量控制和系统保护组件,它提供了强大的限流、熔断、热点限流、授权限流和系统保护及监控等功能。使用它可以轻松的保护我们微服务,在高并发环境下的正常运行。那么,当程序触发了限流和熔断规则时,如何自定义返回的异常信息呢?这是......
  • 几种常见的排序算法总结
    常见的几种排序算法排序算法有很多,比较常见的有:冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序、计数排序、桶排序、基数排序等。并不是所有的都需要会。本文只会对其中部分算法进行总结。冒泡排序冒泡排序是一种比较简单的排序方法。也比较好理解,但是......
  • css 水平垂直居中的几种方法
    水平垂直居中的几种方式记录一下容器内只有单一元素时居中的几种方式<divstyle="width:300px;height:300px"class="wrap"><divstyle="width:100px;height:100px"class="box"></div></div>1.容器flex,调整内部轴线.wrap{di......
  • winform中,在一个textbook输入编号,按回车键该编号所指的其他数据在另外的textbook中显
    代码:1、链接数据库SqlDataAdapterda;DataTabledt;privatestaticreadonlystringSQL=ConfigurationManager.AppSettings["connectionstring"]; 2、在需要搜索编号的textbook中找到KeyDown属性,双击,代码如下stringaa=textBox1.Text.Trim();stringstr="selectcont......
  • day01 容器化的几种架构方式-pod创建过程原理-Scheduler的多种调度策略总结 (1.1-1.3
    一、容器化的几种架构方式1.、容器的由来及变迁史Docker->Docker-compose->Docerswarm->Kubernetes2、微服务容器化的几种解决方案特性DockerSwarm  Kubernetes安装和集群配置安装简单,集群不强大但在很复杂,集群非常强大图形用户界面没有官方图形界面,依托......
  • C# Winform 跨线程调用窗体
    还是用委托的方式。publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privateForm2form2;privatevoidShowForm2(){Actionaction=Show_;Invoke(action);}privatevoidSh......
  • C#winform学习7(初步学习员工部门管理系统)
    1.登录 loginForm.csusingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;//引入数据库usingM......
  • Redis主从有几种常见的拓扑结构?
    Redis的复制拓扑结构可以支持单层或多层复制关系,根据拓扑复杂性可以分为以下三种:一主一从、一主多从、树状主从结构。1.一主一从结构一主一从结构是最简单的复制拓扑结构,用于主节点出现宕机时从节点提供故障转移支持。2.一主多从结构一主多从结构(又称为星形拓扑结构)使得应用端可......