| | |
| | | if (CommonPage.IsRemote && !isLocal) { |
| | | if (!SmartHome.MqttCommon.IsGatewayOnline) { |
| | | System.Threading.Thread.Sleep (500); |
| | | System.Console.WriteLine ($"网关不在线 取消发送:"+ SendFlag); |
| | | System.Console.WriteLine ($"网关不在线 取消发送:" + SendFlag); |
| | | Packet.HaveSendCount = 3; |
| | | allDone.Set (); |
| | | return; |
| | |
| | | System.Console.WriteLine ("远程发送数据:" + SendFlag); |
| | | SmartHome.MqttCommon.MqttRemoteSend (Packet.Bytes); |
| | | Packet.FlagDateTime = DateTime.Now; |
| | | Packet.HaveSendCount++; |
| | | Packet.HaveSendCount--; |
| | | //这里是重发两次 |
| | | while (Packet.HaveSendCount < 3) { |
| | | if (Packet.FlagDateTime.AddMilliseconds (2000).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); |
| | | System.Console.WriteLine ("重发远程发送数据:" + SendFlag); |
| | | Packet.FlagDateTime = DateTime.Now; |
| | | Packet.HaveSendCount++; |
| | | } |
| | | } else { |
| | | if (Packet.FlagDateTime.AddMilliseconds (5000).Ticks <= System.DateTime.Now.Ticks) { |
| | | System.Console.WriteLine ("远程发送数据: 等待5s超时"); |
| | | Packet.FlagDateTime = DateTime.Now; |
| | | Packet.HaveSendCount++; |
| | | } |
| | | } |
| | | System.Threading.Thread.Sleep (100); |
| | | }
allDone.Set ();
} else { |
| | | try { |
| | | System.Console.WriteLine ("发送数据:" + SendFlag); |
| | | BusSocket.AsyncBeginSend (Packet); |
| | | |
| | | Packet.FlagDateTime = DateTime.Now; |
| | | Packet.HaveSendCount--; |
| | | |
| | | //这里是重发两次 |