我使用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开头 我的代码有什么问题?