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);
}
// 以("\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);
}