1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.mina.examples.netcat;
20
21 import org.apache.mina.common.ByteBuffer;
22 import org.apache.mina.common.IdleStatus;
23 import org.apache.mina.io.IoHandler;
24 import org.apache.mina.io.IoHandlerAdapter;
25 import org.apache.mina.io.IoSession;
26
27 /***
28 * {@link IoHandler} implementation for NetCat client. This class extended
29 * {@link IoHandlerAdapter} for convenience.
30 *
31 * @author Trustin Lee (trustin@apache.org)
32 * @version $Rev: 264677 $, $Date: 2005-08-30 11:44:35 +0900 $,
33 */
34 public class NetCatProtocolHandler extends IoHandlerAdapter
35 {
36 public void sessionOpened( IoSession session )
37 {
38
39
40
41 session.getConfig().setIdleTime( IdleStatus.READER_IDLE, 10 );
42 }
43
44 public void sessionClosed( IoSession session )
45 {
46
47 System.err.println( "Total " + session.getReadBytes() + " byte(s)" );
48 }
49
50 public void sessionIdle( IoSession session, IdleStatus status )
51 {
52
53 if( status == IdleStatus.READER_IDLE )
54 session.close();
55 }
56
57 public void dataRead( IoSession session, ByteBuffer buf )
58 {
59
60 while( buf.hasRemaining() )
61 {
62 System.out.print( ( char ) buf.get() );
63 }
64 System.out.flush();
65 }
66 }