Receiving HEX messages in Netty

1.3k Views Asked by At

I'm using Netty 4 to communicate with a GPS device which sends data in HEX. The problem is that in Netty I'm receiving some weird messages([email protected]..) instead of the HEX data(00 00 19 40 00 02 79 1d 0d 0a) I'm supposed to read. The method I'm using to handle the messages is quite simple:

 public void channelRead(ChannelHandlerContext ctx, Object msg) {

    ByteBuf in = (ByteBuf) msg;
    String message = in.toString(io.netty.util.CharsetUtil.US_ASCII);
}

And this is my main method:

 public static void main(String args[]) {


    EventLoopGroup bossGroup = new NioEventLoopGroup();
    EventLoopGroup workerGroup = new NioEventLoopGroup();

    try {
        ServerBootstrap b = new ServerBootstrap();

        b.group(bossGroup, workerGroup)
                .channel(NioServerSocketChannel.class)
                .childHandler(new ChannelInitializer<SocketChannel>() {
                    @Override
                    public void initChannel(SocketChannel ch)
                            throws Exception {
                        ch.pipeline().addLast(new GpsMessageHandler());
                    }
                })

                .option(ChannelOption.SO_BACKLOG, 128)
                .childOption(ChannelOption.SO_KEEPALIVE, true);

        ChannelFuture f = b.bind(port).await();

        f.channel().closeFuture().syncUninterruptibly();

    }

    catch (Exception e) {
    }

    finally {
        workerGroup.shutdownGracefully();
        bossGroup.shutdownGracefully();
    }

}

Any help will be appreciated.

0

There are 0 best solutions below