无论服务器还是客户端都是由下面两步组成
1、ChannelHandler 用与处理各种事件的逻辑处理。
决定了连接创建后和接收到信息后该如何处理。
直接或简接要实现ChannelInboundHandler 接口.
2、Bootstrap启动服务器或客户端 服务器用 ServerBootstrap 客户端用 BootStrap。
pom
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>4.0.29.Final</version>
</dependency> |
EchoServerChannelHandler
package
test01;
import
io.netty.buffer.ByteBuf;
import
io.netty.buffer.Unpooled;
import
io.netty.channel.ChannelFutureListener;
import
io.netty.channel.ChannelHandlerContext;
import
io.netty.channel.ChannelInboundHandlerAdapter;
import
io.netty.util.CharsetUtil;
/**
* Created by wujiazhen on 2018/1/15.
*/
public class
EchoServerChannelHandler
extends
ChannelInboundHandlerAdapter {
@Override
public void
channelRead(ChannelHandlerContext ctx, Object msg)
throws
Exception {
ByteBuf in = (ByteBuf)msg;
System.
out
.println(
"server receive:"
+in.toString(CharsetUtil.
UTF_8
));
ctx.write(msg);
}
@Override
public void
channelReadComplete(ChannelHandlerContext ctx)
throws
Exception {
ctx.writeAndFlush(Unpooled.
EMPTY_BUFFER
)
.addListener(ChannelFutureListener.
CLOSE
);
}
@Override
public void
exceptionCaught(ChannelHandlerConte
|