參考https://blog.csdn.net/o1101574955/article/details/81024102
參考http://youyu4.iteye.com/blog/2361959
Netty中的消息傳遞,都必須以字節的形式,以ChannelBuffer為載體傳遞。
public String convertByteBufToString(ByteBuf buf) {
String str;
if(buf.hasArray()) { // 處理堆緩沖區
str = new String(buf.array(), buf.arrayOffset() + buf.readerIndex(), buf.readableBytes());
} else { // 處理直接緩沖區以及復合緩沖區
byte[] bytes = new byte[buf.readableBytes()];
buf.getBytes(buf.readerIndex(), bytes);
str = new String(bytes, 0, buf.readableBytes());
}
return str;
}
當需要通過ChannelHandlerContext發送String數據時,可以
ByteBuf in;
in.writeBytes("你收到了嗎".getBytes());