org.jboss.netty.handler.codec.string
类 StringDecoder
java.lang.Object
org.jboss.netty.handler.codec.oneone.OneToOneDecoder
org.jboss.netty.handler.codec.string.StringDecoder
- 所有已实现的接口:
- ChannelHandler, ChannelUpstreamHandler
@ChannelHandler.Sharable
public class StringDecoder
- extends OneToOneDecoder
解码一个接收的ChannelBuffer
成一个String
.请注意如果你正在使用一个基于流传输如TCP/IP,那么该解码器必须使用恰当的 FrameDecoder
如
DelimiterBasedFrameDecoder
.一个在TCP/IP套接字里基于文本行协议的典型设置会是:
ChannelPipeline
pipeline = ...;
// 解码器
pipeline.addLast("frameDecoder", new DelimiterBasedFrameDecoder
(80, Delimiters.lineDelimiter()
));
pipeline.addLast("stringDecoder", new StringDecoder
(CharsetUtil.UTF_8));
// 编码器
pipeline.addLast("stringEncoder", new StringEncoder
(CharsetUtil.UTF_8));
然后你可以使用一个String
代替ChannelBuffer
作为一个消息:
void messageReceived(ChannelHandlerContext
ctx, MessageEvent
e) {
String msg = (String) e.getMessage();
ch.write("Did you say '" + msg + "'?\n");
}
从类 java.lang.Object 继承的方法 |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
StringDecoder
public StringDecoder()
- 使用当前系统字符集创建一个新实例.
StringDecoder
public StringDecoder(java.nio.charset.Charset charset)
- 使用指定的字符集创建一个新实例.
StringDecoder
@Deprecated
public StringDecoder(java.lang.String charsetName)
- 已过时。 使用
StringDecoder(Charset)
代替.