1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.mina.examples.echoserver;
20
21 import org.apache.mina.common.ByteBuffer;
22 import org.apache.mina.common.SessionConfig;
23 import org.apache.mina.io.IoHandler;
24 import org.apache.mina.io.IoHandlerAdapter;
25 import org.apache.mina.io.IoSession;
26 import org.apache.mina.io.socket.SocketSessionConfig;
27
28 /***
29 * {@link IoHandler} implementation for echo server.
30 *
31 * @author Trustin Lee (trustin@apache.org)
32 * @version $Rev: 264677 $, $Date: 2005-08-30 11:44:35 +0900 $,
33 */
34 public class EchoProtocolHandler extends IoHandlerAdapter
35 {
36 public void sessionCreated( IoSession session )
37 {
38 SessionConfig cfg = session.getConfig();
39 if( cfg instanceof SocketSessionConfig )
40 {
41 ( ( SocketSessionConfig ) cfg ).setSessionReceiveBufferSize( 2048 );
42 }
43 }
44
45 public void exceptionCaught( IoSession session, Throwable cause )
46 {
47 session.close();
48 }
49
50 public void dataRead( IoSession session, ByteBuffer rb )
51 {
52
53 ByteBuffer wb = ByteBuffer.allocate( rb.remaining() );
54 wb.put( rb );
55 wb.flip();
56 session.write( wb, null );
57 }
58 }