ByteBuf into a String. Please
note that this decoder must be used with a proper ByteToMessageDecoder
such as DelimiterBasedFrameDecoder or LineBasedFrameDecoder
if you are using a stream-based transport such as TCP/IP. A typical setup for a
text-based line protocol in a TCP/IP socket would be:
and then you can use aChannelPipelinepipeline = ...; // Decoders pipeline.addLast("frameDecoder", newLineBasedFrameDecoder(80)); pipeline.addLast("stringDecoder", newStringDecoder(CharsetUtil.UTF_8)); // Encoder pipeline.addLast("stringEncoder", newStringEncoder(CharsetUtil.UTF_8));
String instead of a ByteBuf
as a message:
void channelRead(ChannelHandlerContextctx,Stringmsg) { ch.write("Did you say '" + msg + "'?\n"); }
| Access | Constructor and Description |
|---|---|
| public | |
| public |
| Modifier and Type | Method and Description |
|---|---|
| protected void | decode(ChannelHandlerContext
the ctx, ByteBuf ChannelHandlerContext which this MessageToMessageDecoder belongs tothe message to decode to an other one msg, List<Object> the out)List to which decoded messages should be addedImplements abstract io. |
| charset | back to summary |
|---|---|
| private final Charset charset | |
| StringDecoder | back to summary |
|---|---|
| public StringDecoder() Creates a new instance with the current system character set. | |
| StringDecoder | back to summary |
|---|---|
| public StringDecoder(Charset charset) Creates a new instance with the specified character set. | |
| decode | back to summary |
|---|---|
| protected void decode(ChannelHandlerContext ctx, ByteBuf msg, List<Object> out) throws Exception Implements abstract io. Doc from io. Decode from one message to an other. This method will be called for each written message that can be handled by this decoder.
| |