@ChannelHandler.Sharable public class StringEncoder extends MessageToByteEncoder<CharSequence>
String into a ByteBuf.
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"); }
ChannelHandler.Sharable| Constructor and Description |
|---|
StringEncoder()
Creates a new instance with the current system character set.
|
StringEncoder(Charset charset)
Creates a new instance with the specified character set.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
encode(ChannelHandlerContext ctx,
CharSequence msg,
ByteBuf out)
Encode a message into a
ByteBuf. |
acceptOutboundMessage, writebind, close, connect, deregister, disconnect, flush, readexceptionCaught, handlerAdded, handlerRemoved, isSharableclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitexceptionCaught, handlerAdded, handlerRemovedpublic StringEncoder()
public StringEncoder(Charset charset)
protected void encode(ChannelHandlerContext ctx, CharSequence msg, ByteBuf out) throws Exception
MessageToByteEncoderByteBuf. This method will be called for each written message that can be handled
by this encoder.encode in class MessageToByteEncoder<CharSequence>ctx - the ChannelHandlerContext which this MessageToByteEncoder belongs tomsg - the message to encodeout - the ByteBuf into which the encoded message will be writtenException - is thrown if an error accourCopyright © 2008–2013 The Netty Project. All rights reserved.