From 9cba325e0d7c30644606e63e5df01faba0c42038 Mon Sep 17 00:00:00 2001 From: lss <2538410689@qq.com> Date: 星期三, 06 八月 2025 17:18:41 +0800 Subject: [PATCH] 优化 --- HH.WCS.Mobox3 - 大车间/HH.WCS.Mobox3.JiaTong/device/TcpClient.cs | 41 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 41 insertions(+), 0 deletions(-) diff --git "a/HH.WCS.Mobox3 - \345\244\247\350\275\246\351\227\264/HH.WCS.Mobox3.JiaTong/device/TcpClient.cs" "b/HH.WCS.Mobox3 - \345\244\247\350\275\246\351\227\264/HH.WCS.Mobox3.JiaTong/device/TcpClient.cs" index 55e2e46..9b1180e 100644 --- "a/HH.WCS.Mobox3 - \345\244\247\350\275\246\351\227\264/HH.WCS.Mobox3.JiaTong/device/TcpClient.cs" +++ "b/HH.WCS.Mobox3 - \345\244\247\350\275\246\351\227\264/HH.WCS.Mobox3.JiaTong/device/TcpClient.cs" @@ -43,6 +43,47 @@ } /// <summary> + /// + /// </summary> + /// <param name="ip">127.0.0.1</param> + /// <param name="port">8888</param> + /// <param name="hex">01 02 00 00 00 0C 78 0F</param> + /// <returns></returns> + public static async Task SendHexOnce1(string ip, int port, string hex) + { + var res = string.Empty; + try + { + Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); + var connectTask = client.ConnectAsync(ip, port); + // 璁剧疆瓒呮椂浣嗕笉闃诲 + var timeoutTask = Task.Delay(2000); + var completedTask = await Task.WhenAny(connectTask, timeoutTask); + if (completedTask != connectTask) + { + LogHelper.Info("杩炴帴瓒呮椂", "HosttoagvTask"); + return; + } + + client.Send(PlcHelper.Hex2Bytes(hex)); + byte[] buffer = new byte[1024]; + + var length = client.Receive(buffer, SocketFlags.None); + byte[] data = new byte[length]; + Array.Copy(buffer, data, length); + res = BitConverter.ToString(data).Replace("-", ""); + + client.Disconnect(true); + client.Dispose(); + client = null; + } + catch (Exception ex) + { + LogHelper.Error(ex.Message, ex); + } + } + + /// <summary> /// 璇讳繚鎸佸瘎瀛樺櫒锛宮odbus rtu鐨勫皝瑁� /// </summary> /// <param name="address"></param> -- Gitblit v1.9.1