netty遇到的问题

    1.服务器无法处理消息,返回消息给客户端,客户端无法接收到消息
// 以("\n")为结尾分割的 解码器
        //        pipeline.addLast("framer", new DelimiterBasedFrameDecoder(8192, Delimiters.lineDelimiter()));
这行是在接收消息的时候,会对分隔符进行解码,如果没有获得分隔符的话,就会阻塞在那里,导致无法对消息处理

解决办法就是在发送内容后面添加分隔符,
    String msg = "小王,我是客户端";
//这行很重要,DelimiterBasedFrameDecoder以这个作为消息分割,
// 如果没有换行符的话,服务端就没办法接受到
msg += "\r\n";


    2.服务器接收不到信息
如果把channelRead中的super.channelRead(ctx, msg);注释掉,就不会走到channelRead0里面
像这样,错误
  @Override
  public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
//    super.channelRead(ctx, msg);
  }

猜你喜欢

转载自blog.csdn.net/cmqwan/article/details/80665678