Netty:字符串编码器和解码器将Hex值转换为ASCII值。将其发送到设备时

时间:2015-04-15 07:00:59

标签: netty decoder

Netty:我有来自通信设备的十六进制值,但是当我向该设备发送一些十六进制值时,它被转换为ASCII值。我认为我卡在我目前使用的错误编码器和解码器之间。

有人可以告诉我如何发送这些十六进制字节而不进行转换 进入任何其他的食物。

这是为十六进制值的数据实现编码器和解码器的正确方法。

我在netty中使用的代码是 -

private class TCPPipelineFactory implements ChannelPipelineFactory {
        @SuppressWarnings("deprecation")
        @Override
        public ChannelPipeline getPipeline() throws Exception {
            // Create a default pipeline implementation.
            ChannelPipeline pipeline = pipeline();
            //pipeline.addLast("readtimeout", new ReadTimeoutHandler(hashedWheelTimer, idleTimeSecsForIncompleteRequests));
            // Add the text line codec combination first,
            pipeline.addLast("framer", new DelimiterBasedFrameDecoder(8192,
                    new ChannelBuffer[] {
                    ChannelBuffers.wrappedBuffer("$<end>".getBytes()) }));
//                  ChannelBuffers.wrappedBuffer(new byte[] { '#' }) }));

            ///pipeline.addLast("decoder", new StringDecoder()); to check V123 testing
            //pipeline.addLast("encoder", new StringEncoder());

            pipeline.addLast("decoder", new ObjectDecoder());
            pipeline.addLast("encoder", new ObjectEncoder());

            // and then business logic.
            pipeline.addLast("handler", new TCPService(TCPFrontChannel.this, commLayerId));

            return pipeline;
        }
    }
}

0 个答案:

没有答案