From cdcf85aa61dfcadcae3707e6d6e66c861dd46201 Mon Sep 17 00:00:00 2001 From: liuwf Date: Tue, 14 Jan 2025 13:40:44 +0800 Subject: [PATCH] =?UTF-8?q?add-=E6=8F=90=E4=BA=A4=E8=BF=90=E8=A1=8C?= =?UTF-8?q?=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SlnMesnac.TouchSocket/MyTcpClient.cs | 22 +++++++++++++++++++++- SlnMesnac.WPF/ViewModel/IndexViewModel.cs | 4 ++-- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/SlnMesnac.TouchSocket/MyTcpClient.cs b/SlnMesnac.TouchSocket/MyTcpClient.cs index 7fb8ca0..696a413 100644 --- a/SlnMesnac.TouchSocket/MyTcpClient.cs +++ b/SlnMesnac.TouchSocket/MyTcpClient.cs @@ -1,4 +1,5 @@ using Microsoft.Extensions.Logging; +using Newtonsoft.Json; using SlnMesnac.Config; using System; using System.Collections.Generic; @@ -65,8 +66,27 @@ namespace SlnMesnac.TouchSocket { if(type== "ocr") { + + var request = new Dictionary + { + { "image_path", msg }, + { "service_type", "parse_labels" } // "check_texts", "check_duplicates", "parse_labels" + }; + // 转换为 JSON 并编码为字节 + string message = JsonConvert.SerializeObject(request); + byte[] requestBytes = Encoding.UTF8.GetBytes(message); - }else if(type == "pci") + // 发送请求的长度(4字节) + byte[] lengthBytes = BitConverter.GetBytes(requestBytes.Length); + if (BitConverter.IsLittleEndian) + { + Array.Reverse(lengthBytes); // 如果系统是小端序,需要反转字节顺序 + } + tcpClient.Send(lengthBytes,0, lengthBytes.Length); + + tcpClient.Send(requestBytes,0,requestBytes.Length); + } + else if(type == "pci") { // 使用转义字符正确构造字符串 string message = $"\x00\x00\x00+{{\"image_path\": \"{msg}\"}}"; diff --git a/SlnMesnac.WPF/ViewModel/IndexViewModel.cs b/SlnMesnac.WPF/ViewModel/IndexViewModel.cs index 97b12b9..16ae0c8 100644 --- a/SlnMesnac.WPF/ViewModel/IndexViewModel.cs +++ b/SlnMesnac.WPF/ViewModel/IndexViewModel.cs @@ -91,7 +91,7 @@ namespace SlnMesnac.WPF.ViewModel { Task.Run(async () => { - await ocrClient.StartAsync("127.0.0.1", "10001"); + await ocrClient.StartAsync("127.0.0.1", "7024"); await pciClient.StartAsync("127.0.0.1", "9999"); }); @@ -136,7 +136,7 @@ namespace SlnMesnac.WPF.ViewModel RefreshPicture(File.ReadAllBytes(selectedFilePath)); if(type== "ocr") { - ocrClient.sendMessage("ocr","hello world"); + ocrClient.sendMessage("ocr", fileName); } else if(type== "pci") {