| | |
| | | import java.util.*; |
| | | import java.util.Map.Entry; |
| | | |
| | | import com.dy.common.mw.channel.tcp.TcpIoSessionAttrIdIsRtuAddr; |
| | | import com.dy.common.mw.channel.tcp.TcpIoSessionAttrKeys; |
| | | import org.apache.mina.core.session.IoSession; |
| | | |
| | | import com.dy.rtuMw.server.ServerProperties; |
| | |
| | | TcpSession tcpSe = map.get(rtuAddr) ; |
| | | if(tcpSe != null){ |
| | | return new Object[]{ |
| | | tcpSe.ioSession.getAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrProtocolName), |
| | | tcpSe.ioSession.getAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrProtocolVersion)}; |
| | | tcpSe.ioSession.getAttribute(TcpIoSessionAttrKeys.sessionAttrProtocolName), |
| | | tcpSe.ioSession.getAttribute(TcpIoSessionAttrKeys.sessionAttrProtocolVersion)}; |
| | | }else{ |
| | | return null ; |
| | | } |
| | |
| | | if(tcpSe.ioSession != null && tcpSe.ioSession.isConnected()){ |
| | | if(now - tcpSe.lastUpDataTimeForOnlineCtrl > ServerProperties.disconnectedByNoUpDataMinutes){ |
| | | tcpSe.ioSession.closeNow() ; |
| | | RtuLogDealer.log(entry.getKey(), "因较长时间未收上行数据,认为设备离线"); |
| | | RtuLogDealer.log(entry.getKey(), "因较长时间未收到上行数据,认为设备离线"); |
| | | } |
| | | } |
| | | } |