From a56a485926a8927f904d7f4795c371c25b35753a Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期二, 22 十二月 2020 18:18:15 +0800
Subject: [PATCH] Merge branch 'WJC' into NewFilePath
---
HDL_ON/DAL/DriverLayer/Control_Udp.cs | 61 +++++++++++++++---------------
1 files changed, 31 insertions(+), 30 deletions(-)
diff --git a/HDL_ON/DAL/DriverLayer/Control_Udp.cs b/HDL_ON/DAL/DriverLayer/Control_Udp.cs
index 58f56f0..5967ef9 100644
--- a/HDL_ON/DAL/DriverLayer/Control_Udp.cs
+++ b/HDL_ON/DAL/DriverLayer/Control_Udp.cs
@@ -29,6 +29,7 @@
/// 鎵�鏈夊涓�绔彛鐨勬帶鍒堕兘浼氭斁鍒拌繖涓泦鍚堥噷
/// </summary>
static List<Control_Udp> controlList = new List<Control_Udp>(50);
+
public System.Net.IPEndPoint EndPoint
{
@@ -65,7 +66,7 @@
/// <summary>
/// 閲嶅彂楠岃瘉
/// </summary>
- public void ReceiveRepeatManager(string receiveFlag)
+ public static void ReceiveRepeatManager(string receiveFlag,byte []usefulBytes)
{
for (int i = 0; i < controlList.Count; i++)
{
@@ -623,7 +624,7 @@
{
for (int i = 0; i < controlList.Count;)
{
- if (controlList[i] == null || 3 <= controlList[i].Packet.HaveSendCount)
+ if (controlList[i] == null || 3 <= controlList[i].packet.HaveSendCount)
{
controlList.RemoveAt(i);
}
@@ -692,7 +693,7 @@
void run()
{
allDone.Set();
- Packet.HaveSendCount = 4;
+ packet.HaveSendCount = 4;
}
//鏁版嵁鍙戦�佸鐞�
@@ -706,7 +707,7 @@
new System.Threading.Thread(() =>
{
System.Threading.Thread.Sleep(1000);
- UdpSocket._BusSocket.Start(6000);
+ UdpSocket._BusSocket.Start(UdpSocket._BusSocket.Port);
controlLostCount = 0;
})
{ IsBackground = true }.Start();
@@ -714,20 +715,20 @@
try
{
- MainPage.Log("鍙戦�佹暟鎹�:" + SendFlag);
- UdpSocket._BusSocket.AsyncBeginSend(Packet);
- Packet.HaveSendCount--;
+ //MainPage.Log("鍙戦�佹暟鎹�:" + SendFlag);
+ UdpSocket._BusSocket.AsyncBeginSend(packet);
+ packet.HaveSendCount--;
//杩欓噷鏄噸鍙戜袱娆�
- while (Packet.HaveSendCount < 3)
+ while (packet.HaveSendCount < 3)
{
- if (Packet.FlagDateTime.AddMilliseconds(1000).Ticks <= DateTime.Now.Ticks)
+ if (packet.FlagDateTime.AddMilliseconds(1000).Ticks <= DateTime.Now.Ticks)
{
MainPage.Log("閲嶅彂鏁版嵁:" + SendFlag);
- UdpSocket._BusSocket.AsyncBeginSend(Packet);
+ UdpSocket._BusSocket.AsyncBeginSend(packet);
controlLostCount++;
}
- System.Threading.Thread.Sleep(100);
+ System.Threading.Thread.Sleep(300);
}
}
catch (Exception ex)
@@ -743,7 +744,7 @@
/// <summary>
/// 褰撳墠鏁版嵁鍖�
/// </summary>
- Packet Packet;
+ Packet packet;
/// <summary>
/// 璁板綍鍙戦�佹暟鎹寘
/// </summary>
@@ -800,14 +801,14 @@
{
try
{
- Packet = new Packet(target.SendBytes, target.IPEndPoint);
- Packet.HaveSendCount = 3 - sendCount;
+ packet = new Packet(target.SendBytes, target.IPEndPoint);
+ packet.HaveSendCount = 3 - sendCount;
signPacket(target);
System.Threading.Thread thread = new System.Threading.Thread(new System.Threading.ParameterizedThreadStart(managerSendCount));
thread.IsBackground = true;
- thread.Start(Packet);
+ thread.Start(packet);
if (isWait)
{
@@ -832,11 +833,11 @@
var sendBytes = Control.Ins.ConvertSendBodyData(CommunicationTopic.SearchLoaclGateway, bodyString);
//缁勬挱鍙戦��
- Packet = new Packet(sendBytes, new System.Net.IPEndPoint(System.Net.IPAddress.Parse("239.0.168.188"), 8585));
- Packet.HaveSendCount = 4;//ps锛氭病鏈夐噸鍙戯紝鍚庢湡鏈夋椂闂村彲浠ュ鍔犻噸鍙戝垽鏂�
+ packet = new Packet(sendBytes, new System.Net.IPEndPoint(System.Net.IPAddress.Parse("239.0.168.188"), 8585));
+ packet.HaveSendCount = 4;//ps锛氭病鏈夐噸鍙戯紝鍚庢湡鏈夋椂闂村彲浠ュ鍔犻噸鍙戝垽鏂�
System.Threading.Thread thread = new System.Threading.Thread(new System.Threading.ParameterizedThreadStart(managerSendCount));
thread.IsBackground = true;
- thread.Start(Packet);
+ thread.Start(packet);
//wait();涓嶉渶瑕佺瓑寰�
}
catch (Exception ex)
@@ -844,24 +845,24 @@
MainPage.Log($"Send bus data error {ex.Message}");
}
}
+
+
/// <summary>
/// 鍙戦�乽dp A鍗忚鏁版嵁
/// </summary>
- public void SendLocalHdlLinkData(byte[] sendBytes)
+ public void SendLocalHdlLinkData(byte[] sendBytes,string id, bool isWait=false)
{
- if (controlLostCount > 3)
- {
- UdpSocket._BusSocket.Stop();
- UdpSocket._BusSocket.Start(8585);
- controlLostCount = 0;
- }
- Packet = new Packet(sendBytes, new System.Net.IPEndPoint(System.Net.IPAddress.Parse(Control.Ins.reportIp), 8585));
- Packet.HaveSendCount = 2;//ps锛氭病鏈夐噸鍙戯紝鍚庢湡鏈夋椂闂村彲浠ュ鍔犻噸鍙戝垽鏂�
-
+ packet = new Packet(sendBytes, new System.Net.IPEndPoint(System.Net.IPAddress.Parse(Control.Ins.reportIp), 8585));
+ sendFlag = id;
System.Threading.Thread thread = new System.Threading.Thread(new System.Threading.ParameterizedThreadStart(managerSendCount));
thread.IsBackground = true;
- thread.Start(Packet);
- controlLostCount++;
+ thread.Start(packet);
+ if (isWait)
+ {
+ wait();
+ }
+ //MainPage.Log($"鍙戦�丠dl-Link鏁版嵁锛孖P:{Control.Ins.reportIp}:8585");
}
}
+
}
--
Gitblit v1.8.0