@ChannelHandler.Sharable public class StringEncoder extends MessageToMessageEncoder<java.lang.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 (java.nio.charset.Charset charset)
Creates a new instance with the specified character set.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
encode (ChannelHandlerContext ctx,
java.lang.CharSequence msg,
java.util.List<java.lang.Object> out)
Encode from one message to an other.
|
acceptOutboundMessage, write bind, close, connect, deregister, disconnect, flush, read ensureNotSharable, exceptionCaught, handlerAdded, handlerRemoved, isSharable clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitexceptionCaught, handlerAdded, handlerRemoved public StringEncoder()
public StringEncoder(java.nio.charset.Charset charset)
protected void encode(ChannelHandlerContext ctx, java.lang.CharSequence msg, java.util.List<java.lang.Object> out) throws java.lang.Exception
MessageToMessageEncoder encode in class MessageToMessageEncoder<java.lang.CharSequence>ctx - the ChannelHandlerContext which this MessageToMessageEncoder belongs tomsg - the message to encode to an other oneout - the List into which the encoded msg should be added
needs to do some kind of aggregationjava.lang.Exception - is thrown if an error occursCopyright © 2008–2018 The Netty Project. All rights reserved.