From d9f4e953195dabd6b16503058167293986453740 Mon Sep 17 00:00:00 2001 From: rszn <645583145@qq.com> Date: Wed, 12 Jun 2024 18:17:06 +0800 Subject: [PATCH] =?UTF-8?q?tcp=E5=AE=A2=E6=88=B7=E7=AB=AF=E8=B6=85?= =?UTF-8?q?=E6=97=B6=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Common/lib/HybirdFrameworkCore.dll | Bin 31744 -> 32768 bytes Common/lib/HybirdFrameworkDriver.dll | Bin 36352 -> 36352 bytes Service/Charger/Codec/Decoder.cs | 12 +++--------- .../Handler/AuxiliaryPowerResHandler.cs | 5 ----- 4 files changed, 3 insertions(+), 14 deletions(-) diff --git a/Common/lib/HybirdFrameworkCore.dll b/Common/lib/HybirdFrameworkCore.dll index 36f9605dd1104180e512df42006e5acee1bf5429..0f30488b0dcf84e98a6b150067872f0ed88ae195 100644 GIT binary patch literal 32768 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 UKJWZJP#+%h{GZSN|19vo0p1DZ)Bpeg diff --git a/Common/lib/HybirdFrameworkDriver.dll b/Common/lib/HybirdFrameworkDriver.dll index eb4ed1b7fc29d9c38e5727539d4c54e4e33dc2b8..2d7f1abb22934e77ed3f9edc57b567def24a9d3a 100644 GIT binary patch delta 11333 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 diff --git a/Service/Charger/Codec/Decoder.cs b/Service/Charger/Codec/Decoder.cs index fe0a2f3..99ff833 100644 --- a/Service/Charger/Codec/Decoder.cs +++ b/Service/Charger/Codec/Decoder.cs @@ -68,7 +68,7 @@ public class Decoder : ByteToMessageDecoder byte[]? data = null; try { - ASDU asdu = Parse(buffer, totalFrameLength, out data); + ASDU asdu = Parse(buffer, totalFrameLength, delimiter, out data); Log(chargerSn).Info($"receive {BitUtls.BytesToHexStr(data)}:{JsonConvert.SerializeObject(asdu)} from {chargerSn}"); output.Add(asdu); buffer.Clear(); @@ -118,18 +118,12 @@ public class Decoder : ByteToMessageDecoder return -1; } - public ASDU Parse(IByteBuffer byteBuffer, int totalFrameLength, out byte[] data) + public ASDU Parse(IByteBuffer byteBuffer, int totalFrameLength, IByteBuffer delimiter, out byte[] data) { data = new byte[totalFrameLength]; byteBuffer.ReadBytes(data); - string ou = string.Empty; - for (int i = 0; i < data.Length; i++) - { - ou += data[i].ToString("X2") + " "; - } - //TODO bug length取值不对,上述测试使用 - int removeIndex = _delimiters.Length; + int removeIndex = delimiter.Capacity; ushort cmd = byteBuffer.GetByte(14 + removeIndex); ushort recordType = byteBuffer.GetByte(23 + removeIndex); diff --git a/Service/Charger/Handler/AuxiliaryPowerResHandler.cs b/Service/Charger/Handler/AuxiliaryPowerResHandler.cs index 3d07fe1..5511329 100644 --- a/Service/Charger/Handler/AuxiliaryPowerResHandler.cs +++ b/Service/Charger/Handler/AuxiliaryPowerResHandler.cs @@ -3,11 +3,6 @@ using HybirdFrameworkCore.Autofac.Attribute; using log4net; using Service.Charger.Client; using Service.Charger.Msg.Charger.Resp; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace Service.Charger.Handler {