netty
package com.duitang.test;
import java.net.InetSocketAddress;
import java.util.concurrent.Executors;
import org.jboss.netty.bootstrap.ServerBootstrap;
import org.jboss.netty.buffer.ChannelBuffer;
import org.jboss.netty.buffer.ChannelBuffers;
import org.jboss.netty.channel.ChannelFactory;
import org.jboss.netty.channel.ChannelHandlerContext;
import org.jboss.netty.channel.ChannelPipeline;
import org.jboss.netty.channel.MessageEvent;
import org.jboss.netty.channel.SimpleChannelHandler;
import org.jboss.netty.channel.socket.oio.OioServerSocketChannelFactory;
/**
* StringDecoder tester
*
* @author yunpeng
*/
public class StringDecoderTester {
public static void main(String[] args) {
ChannelFactory channelFactory = new OioServerSocketChannelFactory(Executors.newCachedThreadPool(),
Executors.newCachedThreadPool());
ServerBootstrap bootStrap = new ServerBootstrap(channelFactory);
ChannelPipeline pipeline = bootStrap.getPipeline();
pipeline.addLast("handler", new StringTesterServerHandler());
bootStrap.bind(new InetSocketAddress(8888));
}
static class StringTesterServerHandler extends SimpleChannelHandler {
public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) throws Exception {
ChannelBuffer buffer = (ChannelBuffer) e.getMessage();
String msg = buffer.toString("utf-8");
System.out.println(msg);
buffer = ChannelBuffers.copiedBuffer("bye! \r\n", "utf-8");
ctx.getChannel().write(buffer);
super.messageReceived(ctx, e);
}
}
}