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") {