lss
3 天以前 9cba325e0d7c30644606e63e5df01faba0c42038
HH.WCS.Mobox3 - ´ó³µ¼ä/HH.WCS.Mobox3.JiaTong/device/TcpClient.cs
@@ -1,5 +1,5 @@
using HH.WCS.JiaTong;
using HH.WCS.JiaTong.device;
using HH.WCS.JiaTong_DCJ;
using HH.WCS.JiaTong_DCJ.device;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -7,7 +7,7 @@
using System.Text;
using System.Threading.Tasks;
namespace HH.WCS.JiaTong.device {
namespace HH.WCS.JiaTong_DCJ.device {
    internal class TcpClient
    {
       
@@ -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>
        /// è¯»ä¿æŒå¯„存器,modbus rtu的封装
        /// </summary>
        /// <param name="address"></param>