package com.minaDome;
import org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder;
import org.apache.mina.core.service.IoHandlerAdapter;
import org.apache.mina.core.session.IoSession;
import org.apache.mina.filter.codec.ProtocolCodecFilter;
import org.apache.mina.filter.codec.textline.TextLineCodecFactory;
import org.apache.mina.transport.socket.SocketAcceptor;
import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
import java.io.IOException;
import java.net.InetSocketAddress;
/**
* 服务器
*/
public class ServerDome {
public static void main(String[] args) {
SocketAcceptor nsk = new NioSocketAcceptor();
DefaultIoFilterChainBuilder chain=nsk.getFilterChain();
//设置一个过滤器
chain.addLast("脑婆",new ProtocolCodecFilter(new TextLineCodecFactory()));
//启动消息处理
nsk.setHandler(new MinaServerHandler());
int port=6666;
try {
nsk.bind(new InetSocketAddress(port));
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* 通话的信息处理
*/
class MinaServerHandler extends IoHandlerAdapter{
@Override
public void sessionOpened(IoSession session) throws Exception {
super.sessionOpened(session);
System.out.println("客户:"+session.getRemoteAddress()+"已经连接");
}
@Override
public void sessionClosed(IoSession session) throws Exception {
super.sessionClosed(session);
System.out.println(session.getRemoteAddress()+"已经断开连接");
}
@Override
public void messageReceived(IoSession session, Object message) throws Exception {
super.messageReceived(session, message);
String msg=(String)message;
System.out.println(msg);
session.write("服务器:"+msg);
}
}
mina框架下的ECHO程序
最新推荐文章于 2024-07-31 18:38:45 发布