From aeddacaedd13aa3140b51b0b58728da9fd73d6c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=94=84=E5=A4=B4?= Date: Thu, 29 Aug 2024 07:54:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0dll?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- NDSD-Screwdriver/NDSD_Screwdriver.csproj | 5 +- NDSD-Screwdriver/Tool/QingTcpClient2.cs | 120 +++++++++++++++++++++++ NDSD-Screwdriver/packages.config | 2 +- NDSD-TouchSocket/NDSD_TouchSocket.csproj | 4 +- NDSD-TouchSocket/packages.config | 2 +- 5 files changed, 127 insertions(+), 6 deletions(-) create mode 100644 NDSD-Screwdriver/Tool/QingTcpClient2.cs diff --git a/NDSD-Screwdriver/NDSD_Screwdriver.csproj b/NDSD-Screwdriver/NDSD_Screwdriver.csproj index 5bffb32..017060b 100644 --- a/NDSD-Screwdriver/NDSD_Screwdriver.csproj +++ b/NDSD-Screwdriver/NDSD_Screwdriver.csproj @@ -41,8 +41,8 @@ - - ..\packages\NewLife.Core.11.0.2024.826-beta0719\lib\net461\NewLife.Core.dll + + ..\packages\NewLife.Core.11.0.2024.827-beta1512\lib\net461\NewLife.Core.dll ..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll @@ -125,6 +125,7 @@ + FrmSetting.cs diff --git a/NDSD-Screwdriver/Tool/QingTcpClient2.cs b/NDSD-Screwdriver/Tool/QingTcpClient2.cs new file mode 100644 index 0000000..50f3ba3 --- /dev/null +++ b/NDSD-Screwdriver/Tool/QingTcpClient2.cs @@ -0,0 +1,120 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Timers; +using NewLife.Log; +using TouchSocket.Core; +using TouchSocket.Sockets; + +namespace NDSD_Screwdriver.Tool +{ + public class QingTcpClient2 + { + private int eable = -1; + TcpClient tcpClient = new TcpClient(); + private Timer timer1 = null; + public QingTcpClient2(string str = "192.168.5.212:4545") + { + tcpClient.Connecting = (client, e) => EasyTask.CompletedTask;//即将连接到服务器,此时已经创建socket,但是还未建立tcp + tcpClient.Connected = (client, e) => EasyTask.CompletedTask;//成功连接到服务器 + tcpClient.Setup(new TouchSocketConfig() + .SetRemoteIPHost(str) + .ConfigureContainer(a => + { + a.AddConsoleLogger();//添加一个日志注入 + })); + + tcpClient.Received = (client, e) => + { + //从服务器收到信息。但是一般byteBlock和requestInfo会根据适配器呈现不同的值。 + var mes = e.ByteBlock.Span.ToString(Encoding.ASCII); + + var sb= Sub(mes); + + switch (sb) + { + case "0002": + switch (eable) + { + case 1: + client.Send("00200043 \0"); + break; + case 0: + client.Send("00200042 \0"); + break; + } + eable = -1; + break; + case "0043": + client.Send("00300064001 0000000000\0"); + break; + } + + XTrace.WriteLine($"客户端接收到信息:{mes}"); + return EasyTask.CompletedTask; + + }; + + tcpClient.Connect(); + + + + timer1 = new Timer(); + timer1.Enabled = true; + timer1.Elapsed += timer1_Tick; + timer1.Interval = 500; //设置时间间隔(毫秒为单位)单位Ms + timer1.Start(); + + } + + + + private string Sub(string str) + { + string mes = ""; + var length = str.TrimStart().Length; + if (length>= 9) + { + mes= str.Substring(5, 4); + } + + if (mes == "0005" && length >= 24) + { + mes = str.Substring(21, 4); + } + + return mes; + } + + private void timer1_Tick(object sender, EventArgs e) + { + tcpClient.Send("00209999 \0"); + } + + + public void Begin() + { + tcpClient.Send("00200001 \0"); + } + + public void Enable() + { + eable = 1; + + } + + public void Close() + { + eable = 0; + } + + + public void Satus() + { + tcpClient.Send("00300064001 0000000000\0"); + } + + } +} diff --git a/NDSD-Screwdriver/packages.config b/NDSD-Screwdriver/packages.config index c0d0a5c..ab341d2 100644 --- a/NDSD-Screwdriver/packages.config +++ b/NDSD-Screwdriver/packages.config @@ -2,7 +2,7 @@ - + diff --git a/NDSD-TouchSocket/NDSD_TouchSocket.csproj b/NDSD-TouchSocket/NDSD_TouchSocket.csproj index 95891fa..7cef7f3 100644 --- a/NDSD-TouchSocket/NDSD_TouchSocket.csproj +++ b/NDSD-TouchSocket/NDSD_TouchSocket.csproj @@ -33,8 +33,8 @@ - - ..\packages\NewLife.Core.11.0.2024.826-beta0719\lib\net461\NewLife.Core.dll + + ..\packages\NewLife.Core.11.0.2024.827-beta1512\lib\net461\NewLife.Core.dll ..\NDSD-Screwdriver\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll diff --git a/NDSD-TouchSocket/packages.config b/NDSD-TouchSocket/packages.config index 6db6ccc..0a305fb 100644 --- a/NDSD-TouchSocket/packages.config +++ b/NDSD-TouchSocket/packages.config @@ -1,6 +1,6 @@  - +