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