From a7debf97f52b5f473c3316ecd06bf48f44b65406 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期三, 09 八月 2023 18:03:04 +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..17acf0f 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) + { + relinkCount = 1; + asyncBeginReceive(); + } Console.WriteLine($"asyncBeginReceive {e.Message}"); } } + /// <summary> + /// 閲嶈繛娆℃暟 + /// </summary> + private int relinkCount = 0; + + /// <summary> /// 寮傛鎺ユ敹鏁版嵁缁撴潫 -- Gitblit v1.8.0