Package io.netty.handler.codec.string
Class StringDecoder
java.lang.Object
- All Implemented Interfaces:
ChannelHandler
,ChannelInboundHandler
Decodes a received
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"); }
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.netty.channel.ChannelHandler
ChannelHandler.Sharable
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new instance with the current system character set.StringDecoder
(Charset charset) Creates a new instance with the specified character set. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
decode
(ChannelHandlerContext ctx, ByteBuf msg, List<Object> out) Decode from one message to an other.Methods inherited from class io.netty.handler.codec.MessageToMessageDecoder
acceptInboundMessage, channelRead, channelReadComplete
Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter
channelActive, channelInactive, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggered
Methods inherited from class io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, handlerAdded, handlerRemoved, isSharable
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.netty.channel.ChannelHandler
handlerAdded, handlerRemoved
-
Field Details
-
charset
-
-
Constructor Details
-
StringDecoder
public StringDecoder()Creates a new instance with the current system character set. -
StringDecoder
Creates a new instance with the specified character set.
-
-
Method Details
-
decode
Description copied from class:MessageToMessageDecoder
Decode from one message to an other. This method will be called for each written message that can be handled by this decoder.- Specified by:
decode
in classMessageToMessageDecoder<ByteBuf>
- Parameters:
ctx
- theChannelHandlerContext
which thisMessageToMessageDecoder
belongs tomsg
- the message to decode to an other oneout
- theList
to which decoded messages should be added- Throws:
Exception
- is thrown if an error occurs
-