按标识符分割处理器

    getty也提供了按字符串标识符分割消息处理器 DelimiterFrameDecoder

    顾名思义,就是每条消息都按照 指定的分隔符进行切割,目前默认的切割符是 \r\n

    举例:

    1. 你好,我是getty\r\n`你好吗?`\r\n

    假设客户端发送上述字符串,通过按标识符分割处理器后,消息会切割成两条 你好,我是getty 你好吗? 发送给后面的消息接收处理器

    1. AioServerStarter server = new AioServerStarter(8888);
    2. server.channelInitializer(new ChannelInitializer() {
    3. @Override
    4. public void initChannel(AioChannel channel) throws Exception {
    5. //获取责任链对象
    6. DefaultChannelPipeline defaultChannelPipeline = channel.getDefaultChannelPipeline();
    7. //添加 分隔符字符串处理器 按 "\r\n\" 进行消息分割
    8. defaultChannelPipeline.addLast(new DelimiterFrameDecoder(DelimiterFrameDecoder.lineDelimiter));
    9. //添加字符串解码器
    10. defaultChannelPipeline.addLast(new StringDecoder());
    11. //添加自定义的简单消息处理器
    12. defaultChannelPipeline.addLast(new SimpleHandler());
    13. }
    14. }).start();