mac
2023-08-29 2d5cd35af7437ad4015d38594d8c721dc6166b11
HDL_ON/DAL/DriverLayer/UdpSocket.cs
@@ -29,14 +29,14 @@
        {
         if (IsRunning)
         {
                if (port == Port)
            if (port == Port)
                {
                    return;
                }
            }
                else
                {
                    busSocket.Close();
                }
            }
            }
         if (port != 0)
            Port = port;
@@ -49,6 +49,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 +68,10 @@
      /// </summary>
      public void Stop()
      {
         if(busSocket == null)
            {
            return;
            }
         if (!IsRunning)
         {
            return;
@@ -74,6 +79,7 @@
         try
         {
            busSocket.Close();
            relinkCount = 0;
         }
         catch { }
         busSocket = null;
@@ -100,6 +106,10 @@
         {
            return;
         }
         if(busSocket == null)
            {
            return;
            }
            try {
                Packet packet = new Packet ();
@@ -107,10 +117,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>
      /// 异步接收数据结束