Netty字节数组解码器

时间:2014-07-19 03:30:37

标签: java netty

我使用Netty 4.0处理数据GPS时遇到问题,如果少于10台设备,我没有任何问题,但如果超过这个问题就会出现问题,

gps发送的分组数据以0x78 0x78开头,以0XD和0XA结束,所以我实现了如下所示的channdle句柄:

 private void init(int port) {
    ServerBootstrap bootstrap = new ServerBootstrap();
    bootstrap.group(bossGroup, workerGroup);
    bootstrap.channel(NioServerSocketChannel.class);
    bootstrap.childHandler(new ChannelInitializer<SocketChannel>() {
        @Override
        protected void initChannel(SocketChannel ch) throws Exception {
            // Decoders
            byte delimiter[] = {0x0d,0x0A};
            ch.pipeline().addLast("frameDecoder",new DelimiterBasedFrameDecoder(1024, Unpooled.wrappedBuffer(delimiter)));
            ch.pipeline().addLast(new ProtocolDecoder());
        }
    });
    listServer.add(new ServerTracker(bootstrap, port, "XDevice"));
}

问题: 当第一次设备连接时,我可以读取头0x78 0x78,但是下一个消息并不总是以0x78 0x78开头 我的代码有什么问题?

0 个答案:

没有答案