@ChannelHandler.Sharable public class StringDecoder extends MessageToMessageDecoder<ByteBuf>
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 aChannelPipeline
pipeline = ...; // 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(ChannelHandlerContext
ctx,String
msg) { ch.write("Did you say '" + msg + "'?\n"); }
ChannelHandler.Sharable
Constructor and Description |
---|
StringDecoder()
Creates a new instance with the current system character set.
|
StringDecoder(Charset charset)
Creates a new instance with the specified character set.
|
Modifier and Type | Method and Description |
---|---|
protected void |
decode(ChannelHandlerContext ctx,
ByteBuf msg,
List<Object> out)
Decode from one message to an other.
|
acceptInboundMessage, channelRead, channelReadComplete
channelActive, channelInactive, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggered
ensureNotSharable, handlerAdded, handlerRemoved, isSharable
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
handlerAdded, handlerRemoved
public StringDecoder()
public StringDecoder(Charset charset)
protected void decode(ChannelHandlerContext ctx, ByteBuf msg, List<Object> out) throws Exception
MessageToMessageDecoder
decode
in class MessageToMessageDecoder<ByteBuf>
ctx
- the ChannelHandlerContext
which this MessageToMessageDecoder
belongs tomsg
- the message to decode to an other oneout
- the List
to which decoded messages should be addedException
- is thrown if an error occursCopyright © 2008–2024 The Netty Project. All rights reserved.