|  |  | 
 |  |  |          return false ; | 
 |  |  |       } | 
 |  |  |  | 
 |  |  |       Long lastSendStamp = tcpSe.lastDownComTime ; | 
 |  |  |       boolean nowSend = false ; | 
 |  |  |       if(this.result.isQuickSend || lastSendStamp == null || (this.result.isFastCom && now - lastSendStamp >= ServerProperties.fastCommandSendInterval)){ | 
 |  |  |          //未收到命令结果,未达到最大发送次数,RTU在线,当前是速发命令,或者是快速命令超过命令下发间隔,以上满足发送命令条件,执行发送命令 | 
 |  |  |          nowSend = true ; | 
 |  |  |       }else if(this.result.isQuickSend || lastSendStamp == null || (now - lastSendStamp >= ServerProperties.commandSendInterval)) { | 
 |  |  |          //未收到命令结果,未达到最大发送次数,RTU在线,当前是速发命令,或者是命令超过命令下发间隔,以上满足发送命令条件,执行发送命令 | 
 |  |  |          nowSend = true ; | 
 |  |  |       if(this.result.countdown4Send > 0){ | 
 |  |  |          this.result.countdown4Send -= 1 ; | 
 |  |  |       }else{ | 
 |  |  |          Long lastDownComTime = tcpSe.lastDownComTime ; | 
 |  |  |          if(this.result.isQuickSend){ | 
 |  |  |             //在命令构建时,只有在低功耗情况下,才会把isQuickSend付值为true | 
 |  |  |             //未收到命令结果,未达到最大发送次数,RTU在线,离上行数据时刻不近,当前是速发命令,满足发送命令条件,执行发送命令 | 
 |  |  |             nowSend = true ; | 
 |  |  |          }else if(lastDownComTime == null){ | 
 |  |  |             //未收到命令结果,未达到最大发送次数,RTU在线,离上行数据时刻不近,当前RTU上线以来未曾下发过命令,满足发送命令条件,执行发送命令 | 
 |  |  |             nowSend = true ; | 
 |  |  |          }else if(this.result.isFastCom && (now - lastDownComTime) >= ServerProperties.fastCommandSendInterval){ | 
 |  |  |             //未收到命令结果,未达到最大发送次数,RTU在线,离上行数据时刻不近,RTU上线以来曾下发过命令,当前命令是快速命令且超过命令下发间隔,满足发送命令条件,执行发送命令 | 
 |  |  |             nowSend = true ; | 
 |  |  |          }else if(!this.result.isFastCom && (now - lastDownComTime) >= ServerProperties.commandSendInterval){ | 
 |  |  |             //未收到命令结果,未达到最大发送次数,RTU在线,离上行数据时刻不近,RTU上线以来曾下发过命令,当前命令非快速命令,RTU下发命令间隔超过命令下发间隔,满足发送命令条件,执行发送命令 | 
 |  |  |             nowSend = true ; | 
 |  |  |          } | 
 |  |  |       } | 
 |  |  |  | 
 |  |  |       if(nowSend){ | 
 |  |  |          tcpSe.ioSession.write(this.result.downBuffer) ; | 
 |  |  |          tcpSe.lastDownComTime = now ; |