定长字符串处理器
getty提供了根据指定长度分割消息的定长处理器 FixedLengthFrameDecoder
顾名思义,就是按指定长度来切割消息,比如设置切割长度为5。如果客户端发来一条长度为15的字符串消息,
则getty会把这条消息切割成3条,每条长度为5的消息发送给最终的消息接收处理器。
如果设置切割长度为15。则最终就是发给消息处理器的消息就是一条长度为15的消息。
示例
AioServerStarter server = new AioServerStarter(8888);
server.channelInitializer(new ChannelInitializer() {
@Override
public void initChannel(AioChannel channel) throws Exception {
//获取责任链对象
DefaultChannelPipeline defaultChannelPipeline = channel.getDefaultChannelPipeline();
//添加 定长消息处理器
defaultChannelPipeline.addLast(new FixedLengthFrameDecoder(5));
//添加字符串解码器
defaultChannelPipeline.addLast(new StringDecoder());
//添加自定义的简单消息处理器
defaultChannelPipeline.addLast(new SimpleHandler());
}
}).start();