| | |
| | | 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; |
| | |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace HH.WCS.JiaTong.device { |
| | | namespace HH.WCS.JiaTong_DCJ.device { |
| | | internal class TcpClient |
| | | { |
| | | |
| | |
| | | } |
| | | |
| | | /// <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> |