|  |  | 
 |  |  |  | 
 |  |  |    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); | 
 |  |  |       } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } |