tcp 串口并存客户端

news/2025/2/22 0:23:27/文章来源:https://www.cnblogs.com/lijie-lijie/p/18727822

需要用的包:

把之前的tcp修改成控件

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using STTech.BytesIO.Core;
using STTech.BytesIO.Core.Entity;
using STTech.BytesIO.Serial;namespace Demo.BytesIO.Client
{public partial class ClientPanel : UserControl{private BytesClient client;private ClientPanel(){InitializeComponent();CheckForIllegalCrossThreadCalls = false;//client = new SerialClient();}public ClientPanel(BytesClient client) : this(){this.client = client;propertyGrid.SelectedObject = client;client.OnDataReceived += Client_OnDataReceived;client.OnConnectedSuccessfully += Client_OnConnectedSuccessfully;client.OnDisconnected += Client_OnDisconnected;client.OnDataSent += Client_OnDataSent;         }private void Client_OnDataSent(object sender, STTech.BytesIO.Core.Entity.DataSentEventArgs e){Print($"发送数据:{e.Data.EncodeToString("GBK")}");}private void Client_OnDisconnected(object sender, STTech.BytesIO.Core.Entity.DisconnectedEventArgs e){Print($"已断开({e.ReasonCode})");}private void Client_OnConnectedSuccessfully(object sender, STTech.BytesIO.Core.Entity.ConnectedSuccessfullyEventArgs e){Print("连接成功");}private void Client_OnDataReceived(object sender, STTech.BytesIO.Core.Entity.DataReceivedEventArgs e){Print($"收到数据:{e.Data.EncodeToString("GBK")}");}private void btnConnect_Click(object sender, EventArgs e){client.Connect();}private void btnDisconnect_Click(object sender, EventArgs e){client.Disconnect();}private void tbSend_TextChanged(object sender, EventArgs e){}private void btnSend_Click(object sender, EventArgs e){client.Send(tbSend.Text.GetBytes("GBK"));}private void Print(string msg){tbRecv.AppendText($"[{DateTime.Now}] {msg}\r\n");}}
}

2.新建个窗体

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using STTech.BytesIO.Serial;
using STTech.BytesIO.Tcp;namespace Demo.BytesIO.Client
{public partial class MainForm : Form{public MainForm(){InitializeComponent();}private void tsmiCreateTcpClient_Click(object sender, EventArgs e){tab.AddPage("TCP客户端", new ClientPanel(new TcpClient()));}private void tsmiCreateSerialClient_Click(object sender, EventArgs e){tab.AddPage("串口客户端",new ClientPanel(new SerialClient()));}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/887352.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用streamlit创建一个产品指标与排名看板【2】创建一个使用sidebar+exec管理的多页面应用

1. Streamlit常见的多页面管理形式pages文件夹形式的多页面应用 switch_page或者page_link跳转 sidebar+exec形式开始时使用的方法1,使用文件结构和文件名称管理多页面,页面内容可以不需要为导航专门再写东西,非常便捷。随着使用,缺点也很明显,无法再定义导航栏中的页面名…

基于FOC控制器的BLDC无刷直流电机控制系统matlab编程与仿真

1.课题概述基于FOC控制器的BLDC无刷直流电机控制系统matlab编程与仿真,使用MATLAB编程实现,包括FOC控制器,clark,park等,不使用simulink建模。仿真输出三相电流,电机转速以及转子角度。2.系统仿真结果 3.核心程序与模型 版本:MATLAB2022a%矢场定向控制 function [A,B,C…

DelayQueue 底层原理

一、DelayQueue 底层原理 DelayQueue是一种本地延迟队列,比如希望我们的任务在5秒后执行,就可以使用DelayQueue实现。常见的使用场景有:订单10分钟内未支付,就取消。缓存过期后,就删除。消息的延迟发送等。但是DelayQueue是怎么使用的?底层原理是什么样的?如果有多个任务…

基于Affine-Sift算法的图像配准matlab仿真

1.算法运行效果图预览 (完整程序运行后无水印)Affine-Sift算法 Sift算法 2.算法运行软件版本 MATLAB2022A3.部分核心程序 (完整版代码包含操作步骤视频)figure; subplot(121);imshow(img1s);title(原始图片1); subplot(122);imshow(img2s);title(原始图片2); %计算图片的大…

【H2O系列】包括人形机器人WBC相关论文小结

1. 前言 这篇博客主要用于记录包括人形机器人WBC或locomotion相关论文小结。 一方面便于日后自己的温故学习,另一方面也便于大家的学习和交流。 如有不对之处,欢迎评论区指出错误,你我共同进步学习! PS:主要是备忘,不然看过就忘了。。。(汗 2. 正文 先看数据集或者说动捕…

设计测试用例方法-场景法

一、场景法: 场景法主要是针对测试场景类型的,也称场景流程分析法。 流程分析是将软件系统的某个流程看成路径,用路径分析的方法来设计测试用例。根据流程的顺序依次进行组合,使得流程的各个分支都能走到 案例1:购物流程案例2:离职流程案例3:atm机二、流程分析步骤: 1.画…

寒假工程5

对于每个项目,需要单独编写其相关工能 @Override public String toString() { return "Communication{" + "assessmentID=" + assessmentID + + ", consciousnessLevel=" + consciousnessLevel + ", visionLevel=" + visionLevel + …

VDN、QMIX、QTRAN、COMA

VDN、QMIX、QTRAN、COMA 论文名称: VDN:《Value-Decomposition Networks For Cooperative Multi-Agent Learning》 QMIX: 《QMIX: Monotonic Value Function Factorisation for Deep Multi-Agent Reinforcement Learning》 QTRAN:《QTRAN: Learning to Factorize with Trans…

Visual Solution of 20250220

Visual Solution of 20250220 GraphSumPath 最小化 \[\sum x_i \]满足约束 \[\sum_{e\in P}x_e+w_e\ge c+d \]\(d\) 是最短路化为标准型 最大化 \[\sum -x_i \]满足约束 \[\sum_{e\in P}-x_e \le \sum_{e\in P}w_e-c-d \] 对偶 最小化 \[\sum_{P}{\left(\sum_{e\in P}w_e-c-d\r…

uds打包

这个链接:http://uds-boss-immarketing-integration-8080.msxfcloud.test/#/uds/pipeline选这个 这里选这个

最快速排序

求得最少操作次数,就是逆序对数量 `#include<bits/stdc++.h> using namespace std; const int N=500010; int n;int a[N],tem[N]; long long m_sort(int l,int r) { if(l>=r)return 0; int mid=l+r>>1; long long ans+=m_sort(l,mid)+m_sort(mid+1,r); int i=l…