我試圖實現一個非常簡單的套接字服務器。我需要閱讀一些消息,以新行或其他分隔符分隔。netty 4.0輸入字節解碼
根據此文件:http://netty.io/4.0/api/io/netty/handler/codec/string/StringDecoder.html和http://netty.io/4.0/api/io/netty/handler/codec/DelimiterBasedFrameDecoder.html
此代碼爲通道初始化
ChannelInitializer<SocketChannel> channelInitializer = new ChannelInitializer<SocketChannel>() {
@Override
public void initChannel(SocketChannel ch) throws Exception {
ch.pipeline().addLast("frameDecoder", new DelimiterBasedFrameDecoder(Delimiters.lineDelimiter()));
ch.pipeline().addLast("stringDecoder", new StringDecoder(CharsetUtil.UTF_8));
// Encoder
ch.pipeline().addLast("stringEncoder", new StringEncoder(CharsetUtil.UTF_8));
}
};
應該做的伎倆。
但是沒有合適的構造函數用於任何解碼器和編碼器,它們可以使用提供的參數。他們期望一些整數作爲第一個參數和一個Byte數組。只有stringDecoder似乎沒問題。
我在這裏失蹤了什麼?
對不起,我不明白這個問題。你能改說嗎? – 2013-03-23 15:38:01
簡而言之:從文檔中使用的示例不起作用。那就是問題所在。問題是如何正確使用它 – bazo 2013-03-23 20:36:59