读书人

Mina容易示例

发布时间: 2012-12-22 12:05:06 作者: rapoo

Mina简单示例
??????? //加入port handler cfg
??????? acceptor.bind( new InetSocketAddress(PORT), new TimeServerHandler(), cfg);
??????? System.out.println("MINA Time server started.");
??? }
}
对应的handler ,handler的作用是在对应的网事件的处理代码
package com.test.mina;
import java.util.Date;

import org.apache.mina.common.IdleStatus;
import org.apache.mina.common.IoHandlerAdapter;
import org.apache.mina.common.IoSession;
import org.apache.mina.common.TransportType;
import org.apache.mina.transport.socket.nio.SocketSessionConfig;

public class TimeServerHandler extends IoHandlerAdapter {
??? public void exceptionCaught(IoSession session, Throwable t) throws Exception {
??????? t.printStackTrace();
??????? session.close();
??? }

??? public void messageReceived(IoSession session, Object msg) throws Exception {
??????? String str = msg.toString();
??????? //如果是quit就关闭session退出
??????? if( str.trim().equalsIgnoreCase("quit") ) {
??????????? session.close();
??????????? return;
??????? }
??????? //否则打印当前日期
??????? Date date = new Date();
??????? session.write( date.toString() );
??????? System.out.println("Message written");
??? }

??? public void sessionCreated(IoSession session) throws Exception {
??????? System.out.println("Session created");

??????? if( session.getTransportType() == TransportType.SOCKET )
??????????? ((SocketSessionConfig) session.getConfig() ).setReceiveBufferSize( 2048 );

??????? session.setIdleTime( IdleStatus.BOTH_IDLE, 10 );
??? }
}三、使用方法:
编译上边两个类(必须先加入下面三个包,mina的jar文件),然后运行terminalServer
开始->运行->cmd进入控制台
telnet 127.0.0.1 9123
输入hello
得到当前日期
输入quit关闭session。 mina-core-1.1.7.jar (308.2 KB) 下载次数: 112 slf4j-api-1.5.3.jar (19.7 KB) 下载次数: 89 slf4j-simple-1.5.3.jar (7.3 KB) 下载次数: 93

读书人网 >编程

热点推荐