From 6d73bf6e816570291865674bef8bce8972e4de3f Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期三, 01 十二月 2021 16:32:57 +0800
Subject: [PATCH] 2021-12-01-01
---
HDL_ON/DAL/DriverLayer/Control_Udp.cs | 57 ++++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 38 insertions(+), 19 deletions(-)
diff --git a/HDL_ON/DAL/DriverLayer/Control_Udp.cs b/HDL_ON/DAL/DriverLayer/Control_Udp.cs
index e5fb38e..6991ad8 100644
--- a/HDL_ON/DAL/DriverLayer/Control_Udp.cs
+++ b/HDL_ON/DAL/DriverLayer/Control_Udp.cs
@@ -978,7 +978,7 @@
UdpSocket._BusSocket.AsyncBeginSend(packet);
controlLostCount++;
}
- System.Threading.Thread.Sleep(300);
+ System.Threading.Thread.Sleep(1000);
}
}
catch (Exception ex)
@@ -1078,7 +1078,7 @@
/// <summary>
/// 璇诲彇缃戝叧IP
/// </summary>
- public void SearchLocalGateway()
+ public void SearchLocalGateway(bool broadcast = false)
{
try
{
@@ -1086,23 +1086,21 @@
var bodyString = JsonConvert.SerializeObject(sendJob);
var sendBytes = Control.Ins.ConvertSendBodyData(CommunicationTopic.SearchLoaclGateway, bodyString, false);
- //缁勬挱鍙戦��
- packet = new Packet(sendBytes, new System.Net.IPEndPoint(System.Net.IPAddress.Parse("239.0.168.188"), 8585));
+ if (broadcast)
+ {
+ //骞挎挱
+ packet = new Packet(sendBytes, new System.Net.IPEndPoint(System.Net.IPAddress.Parse("255.255.255.255"), 8585));
+ }
+ else
+ {
+ //缁勬挱鍙戦��
+ packet = new Packet(sendBytes, new System.Net.IPEndPoint(System.Net.IPAddress.Parse("239.0.168.188"), 8585));
+ }
packet.HaveSendCount = 4;
System.Threading.Thread thread = new System.Threading.Thread(new System.Threading.ParameterizedThreadStart(managerSendCount));
thread.IsBackground = true;
thread.Start(packet);
//wait();涓嶉渶瑕佺瓑寰�
-
-
-
-
- //hjSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
- //hjSocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, true);
- //EndPoint ipep = new IPEndPoint(IPAddress.Parse(CsConst.myLocalIP), HDLUDP.UDPPort);
- //hjSocket.Bind(ipep);
-
-
}
catch (Exception ex)
@@ -1111,21 +1109,42 @@
}
}
+ /// <summary>
+ /// 璇诲彇缃戝叧IP
+ /// </summary>
+ public void SendLinkCommand(string topic,string bodyString)
+ {
+ try
+ {
+ var sendBytes = Control.Ins.ConvertSendBodyData(topic, bodyString, false);
+ //缁勬挱鍙戦��
+ packet = new Packet(sendBytes, new System.Net.IPEndPoint(System.Net.IPAddress.Parse("239.0.168.188"), 8585));
+ packet.HaveSendCount = 4;
+ System.Threading.Thread thread = new System.Threading.Thread(new System.Threading.ParameterizedThreadStart(managerSendCount));
+ thread.IsBackground = true;
+ thread.Start(packet);
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"Send bus data error {ex.Message}");
+ }
+ }
/// <summary>
/// 鍙戦�乽dp A鍗忚鏁版嵁
/// </summary>
- public void SendLocalHdlLinkData(byte[] sendBytes,string id, bool isWait=false)
+ public void SendLocalHdlLinkData(byte[] sendBytes,string id, int resend = 3)
{
packet = new Packet(sendBytes, new System.Net.IPEndPoint(System.Net.IPAddress.Parse(Control.Ins.reportIp), 8585));
+ packet.HaveSendCount = 3 - resend;//閲嶅彂娆℃暟
sendFlag = id;
System.Threading.Thread thread = new System.Threading.Thread(new System.Threading.ParameterizedThreadStart(managerSendCount));
thread.IsBackground = true;
thread.Start(packet);
- if (isWait)
- {
- wait();
- }
+ //if (isWait)
+ //{
+ // wait();
+ //}
MainPage.Log($"鍙戦�丠dl-Link鏁版嵁锛孖P:{Control.Ins.reportIp}:8585");
}
}
--
Gitblit v1.8.0