`
san_yun
  • 浏览: 2600069 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

netty StringDecoderTester

 
阅读更多

 

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);
        }

    }
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics