| | |
| | | { |
| | | public class Control |
| | | { |
| | | public static bool IsEnterBackground = false; |
| | | public bool IsCanShowTip; |
| | | public System.DateTime LatestDateTime = System.DateTime.Now; |
| | | |
| | |
| | | AddData = gatewayBytes, |
| | | }, sendCount, false); |
| | | CommonPage.FindGateway = false; |
| | | System.Console.WriteLine (command.ToString () + "::" + CommonPage.EndPoint.ToString ()); |
| | | Utlis.WriteLine (command.ToString () + "::" + CommonPage.EndPoint.ToString ()); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | case Command.SetGateWayTopicACK: |
| | | case Command.ReadGateWayAdminInfoACK: |
| | | case Command.SetGateWayAdminInfoACK: |
| | | case Command.ReadGateWayLocalEncryptionACK: |
| | | case Command.SetReadGateWayLocalEncryptionACK: |
| | | //************************************ |
| | | case Command.ReadGateWayModelInfoACK: |
| | | case Command.ReadGatewayServerIPACK: |
| | |
| | | case Command.READ_JOG_OPEN_TIME_ACK: |
| | | case Command.SET_JOG_CLOSE_TIME_ACK: |
| | | case Command.READ_JOG_CLOSE_TIME_ACK: |
| | | case Command.ReadRemarkACK: |
| | | receiveFlag += ""; |
| | | break; |
| | | case Command.ControlMusicModel1ACK: |
| | |
| | | default: |
| | | break; |
| | | } |
| | | //System.Console.WriteLine ("接收到数据:" + receiveFlag); |
| | | //Utlis.WriteLine ("接收到数据:" + receiveFlag); |
| | | |
| | | for (int i = 0; i < controlList.Count; i++) { |
| | | try { |
| | |
| | | } |
| | | } |
| | | } catch (Exception ex) { |
| | | Console.WriteLine ("ManagerReceive抛出异常:" + ex.ToString ()); |
| | | Utlis.WriteLine ("ManagerReceive抛出异常:" + ex.ToString ()); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | } |
| | | //System.Console.WriteLine ("++++++++"+controlList.Count.ToString ()); |
| | | //Utlis.WriteLine ("++++++++"+controlList.Count.ToString ()); |
| | | } |
| | | controlList.Add (this); |
| | | } |
| | |
| | | void managerSendCount (object o) |
| | | { |
| | | add (); |
| | | if (Shared.SimpleControl.CommonPage.IsRemote && !isLocal) { |
| | | System.Console.WriteLine ("远程发送数据:" + SendFlag); |
| | | if (CommonPage.IsRemote && !isLocal) { |
| | | //if (!SmartHome.MqttCommon.IsGatewayOnline) { |
| | | // System.Threading.Thread.Sleep (500); |
| | | // Utlis.WriteLine ($"网关不在线 取消发送:" + SendFlag); |
| | | // Packet.HaveSendCount = 3; |
| | | // allDone.Set (); |
| | | // return; |
| | | //} |
| | | if (IsEnterBackground) { |
| | | System.Threading.Thread.Sleep (500); |
| | | Utlis.WriteLine ("已进入后台 取消发送"); |
| | | Packet.HaveSendCount = 3; |
| | | allDone.Set (); |
| | | return; |
| | | } |
| | | Utlis.WriteLine ("远程发送数据:" + SendFlag); |
| | | SmartHome.MqttCommon.MqttRemoteSend (Packet.Bytes); |
| | | Packet.FlagDateTime = DateTime.Now; |
| | | Packet.HaveSendCount--; |
| | | //这里是重发两次 |
| | | while (Packet.HaveSendCount < 3) { |
| | | if (Packet.FlagDateTime.AddMilliseconds (1000).Ticks <= System.DateTime.Now.Ticks) { |
| | | SmartHome.MqttCommon.MqttRemoteSend (Packet.Bytes); |
| | | System.Console.WriteLine ("重发远程发送数据:" + SendFlag); |
| | | Packet.FlagDateTime = DateTime.Now; |
| | | Packet.HaveSendCount++; |
| | | if (Packet.HaveSendCount < 2) { |
| | | if (Packet.FlagDateTime.AddMilliseconds (2000).Ticks <= System.DateTime.Now.Ticks) { |
| | | SmartHome.MqttCommon.MqttRemoteSend (Packet.Bytes); |
| | | Utlis.WriteLine ("重发远程发送数据:" + SendFlag); |
| | | Packet.FlagDateTime = DateTime.Now; |
| | | Packet.HaveSendCount++; |
| | | } |
| | | } else { |
| | | if (Packet.FlagDateTime.AddMilliseconds (5000).Ticks <= System.DateTime.Now.Ticks) { |
| | | Utlis.WriteLine ("远程发送数据: 等待5s超时"); |
| | | Packet.FlagDateTime = DateTime.Now; |
| | | Packet.HaveSendCount++; |
| | | } |
| | | } |
| | | System.Threading.Thread.Sleep (100); |
| | | }
allDone.Set ();
} else { |
| | | try { |
| | | System.Console.WriteLine ("发送数据:" + SendFlag); |
| | | Utlis.WriteLine ("发送数据:" + SendFlag); |
| | | BusSocket.AsyncBeginSend (Packet); |
| | | |
| | | Packet.FlagDateTime = DateTime.Now; |
| | | Packet.HaveSendCount--; |
| | | |
| | | //这里是重发两次 |
| | | while (Packet.HaveSendCount < 3) { |
| | | while (Packet.HaveSendCount < 3 && BusSocket.IsRunning) { |
| | | if (Packet.FlagDateTime.AddMilliseconds (1000).Ticks <= System.DateTime.Now.Ticks) { |
| | | System.Console.WriteLine ("重发数据:" + SendFlag); |
| | | Utlis.WriteLine ("重发数据:" + SendFlag); |
| | | BusSocket.AsyncBeginSend (Packet); |
| | | } |
| | | System.Threading.Thread.Sleep (100); |
| | | } |
| | | |
| | | } catch (Exception ex) { |
| | | Console.WriteLine ("managerSendCount:" + ex.ToString ()); |
| | | Utlis.WriteLine ("managerSendCount:" + ex.ToString ()); |
| | | } finally { |
| | | allDone.Set (); |
| | | } |
| | |
| | | case Command.SetGateWayTopic: |
| | | case Command.ReadGateWayAdminInfo: |
| | | case Command.SetGateWayAdminInfo: |
| | | case Command.SetGateWayLocalEncryption: |
| | | case Command.ReadGateWayLocalEncryption: |
| | | //************************************ |
| | | case Command.ReadGateWayModelInfo: |
| | | case Command.ReadGatewayServerIP: |
| | |
| | | case Command.READ_JOG_OPEN_TIME_CMD: |
| | | case Command.SET_JOG_CLOSE_TIME_CMD: |
| | | case Command.READ_JOG_CLOSE_TIME_CMD: |
| | | case Command.ReadRemark: |
| | | this.SendFlag += ""; |
| | | break; |
| | | case Command.ControlMusicModel2: |