| | |
| | | import org.apache.logging.log4j.Logger; |
| | | import org.apache.mina.core.session.IoSession; |
| | | |
| | | import com.dy.common.mw.channel.tcp.TcpIoSessionAttrIdIsRtuAddr; |
| | | import com.dy.common.mw.channel.tcp.TcpIoSessionAttrKeys; |
| | | import com.dy.common.mw.channel.tcp.TcpUnit; |
| | | import com.dy.common.mw.core.CoreTask; |
| | | import com.dy.rtuMw.server.ServerProperties; |
| | |
| | | e.printStackTrace(); |
| | | log.error("将数据转换为十六进制时出错!" ) ; |
| | | } |
| | | String rtuAddr = (String)session.getAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrRtuAddr) ; |
| | | String protocolName = (String)session.getAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrProtocolName) ; |
| | | Short protocolVersion = (Short)session.getAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrProtocolVersion) ; |
| | | String rtuAddr = (String)session.getAttribute(TcpIoSessionAttrKeys.sessionAttrRtuAddr) ; |
| | | String protocolName = (String)session.getAttribute(TcpIoSessionAttrKeys.sessionAttrProtocolName) ; |
| | | Short protocolVersion = (Short)session.getAttribute(TcpIoSessionAttrKeys.sessionAttrProtocolVersion) ; |
| | | boolean isOnLine = false ; |
| | | if(rtuAddr == null){ |
| | | //说明刚建立网络连接,此数据应该是上线数据 |
| | |
| | | if(rtuAddrInData != null && !rtuAddrInData.equals(rtuAddrAtHead)){ |
| | | //数据头中的RTU地址与数据中的RTU地址不一致,更换成数据中的RTU地址 |
| | | TcpSessionCache.changeRtuAddr(rtuAddrAtHead, rtuAddrInData, session); |
| | | session.setAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrRtuAddr, rtuAddrInData) ; |
| | | session.setAttribute(TcpIoSessionAttrKeys.sessionAttrRtuAddr, rtuAddrInData) ; |
| | | } |
| | | |
| | | String rtuAddr ; |