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.common.IoHandler;
24 import org.apache.mina.common.IoHandlerAdapter;
25 import org.apache.mina.common.IoSession;
26
27 /***
28 * {@link IoHandler} implementation for NetCat client. This class extended
29 * {@link IoHandlerAdapter} for convenience.
30 *
31 * @author The Apache Directory Project (dev@directory.apache.org)
32 * @version $Rev: 355016 $, $Date: 2005-12-08 16:00:30 +0900 (Thu, 08 Dec 2005) $,
33 */
34 public class NetCatProtocolHandler extends IoHandlerAdapter
35 {
36 public void sessionOpened( IoSession session )
37 {
38
39
40
41 session.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 messageReceived( IoSession session, Object message )
58 {
59 ByteBuffer buf = ( ByteBuffer ) message;
60
61 while( buf.hasRemaining() )
62 {
63 System.out.print( ( char ) buf.get() );
64 }
65 System.out.flush();
66 }
67 }