From 34754c8a599b1a9b4024b400eb6c64eab0488bab Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 02 八月 2023 14:08:34 +0800
Subject: [PATCH] 备份
---
HDL_ON/DAL/DriverLayer/UdpSocket.cs | 34 ++++++++++++++++++++++++++++++----
1 files changed, 30 insertions(+), 4 deletions(-)
diff --git a/HDL_ON/DAL/DriverLayer/UdpSocket.cs b/HDL_ON/DAL/DriverLayer/UdpSocket.cs
index 36637f9..4bb4c7f 100644
--- a/HDL_ON/DAL/DriverLayer/UdpSocket.cs
+++ b/HDL_ON/DAL/DriverLayer/UdpSocket.cs
@@ -27,17 +27,22 @@
/// </summary>
public void Start (int port = 0)
{
+ MainPage.Log("鍚姩Socket鎺ユ敹鍜屽彂閫佸姛鑳�0");
if (IsRunning)
{
- if (port == Port)
+ MainPage.Log("鍚姩Socket鎺ユ敹鍜屽彂閫佸姛鑳絰");
+ if (port == Port)
{
+ MainPage.Log("鍚姩Socket鎺ユ敹鍜屽彂閫佸姛鑳絪");
return;
- }
+ }
else
{
+ MainPage.Log("鍚姩Socket鎺ユ敹鍜屽彂閫佸姛鑳絘");
busSocket.Close();
- }
+ }
}
+ MainPage.Log("鍚姩Socket鎺ユ敹鍜屽彂閫佸姛鑳�1");
if (port != 0)
Port = port;
if (Port == 0)
@@ -49,6 +54,7 @@
busSocket.Bind(new IPEndPoint(IPAddress.Any, Port));
busSocket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.AddMembership, new MulticastOption(IPAddress.Parse("239.0.168.188")));
+ relinkCount = 0;
}
catch (Exception ex){
MainPage.Log ($"udp port bind error : {ex.Message}");
@@ -67,6 +73,10 @@
/// </summary>
public void Stop()
{
+ if(busSocket == null)
+ {
+ return;
+ }
if (!IsRunning)
{
return;
@@ -74,6 +84,7 @@
try
{
busSocket.Close();
+ relinkCount = 0;
}
catch { }
busSocket = null;
@@ -100,6 +111,10 @@
{
return;
}
+ if(busSocket == null)
+ {
+ return;
+ }
try {
Packet packet = new Packet ();
@@ -107,10 +122,21 @@
}
catch (Exception e) {
System.Threading.Thread.Sleep (1);
- asyncBeginReceive ();
+ Console.WriteLine("asyncBeginReceive " + relinkCount );
+ if (relinkCount == 0)
+ {
+ asyncBeginReceive();
+ }
+ relinkCount = 1;
Console.WriteLine($"asyncBeginReceive {e.Message}");
}
}
+ /// <summary>
+ /// 閲嶈繛娆℃暟
+ /// </summary>
+ private int relinkCount = 0;
+
+
/// <summary>
/// 寮傛鎺ユ敹鏁版嵁缁撴潫
--
Gitblit v1.8.0