| | |
| | | |
| | | private TcpUnitAdapter adapter ; |
| | | |
| | | private boolean stop = false ;//为true时,停止TCP服务,并把已经TCP连接断连接 |
| | | |
| | | public TcpIoHandler(TcpUnitAdapter adapter){ |
| | | this.adapter = adapter ; |
| | | } |
| | | |
| | | public void stop(){ |
| | | stop = true ; |
| | | } |
| | | |
| | | public void recover(){ |
| | | this.stop = false ; |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @Override |
| | | public void sessionCreated(IoSession session) throws Exception { |
| | | super.sessionCreated(session); |
| | | if(stop){ |
| | | session.closeNow() ; |
| | | }else{ |
| | | super.sessionCreated(session); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 会话open时回调的方法 |
| | | */ |
| | | public void sessionOpened(IoSession session) throws Exception { |
| | | this.adapter.newSessionEventCallback().sessionOpened(session); |
| | | if(stop){ |
| | | session.closeNow() ; |
| | | }else{ |
| | | this.adapter.newSessionEventCallback().sessionOpened(session); |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @Override |
| | | public void messageReceived(IoSession session, Object message) throws Exception { |
| | | this.adapter.newSessionEventCallback().messageReceived(session, message); |
| | | if(stop){ |
| | | session.closeNow() ; |
| | | }else{ |
| | | this.adapter.newSessionEventCallback().messageReceived(session, message); |
| | | } |
| | | } |
| | | |
| | | } |