graph TD
A[CreateTCPConnection] -->|初始化| B(Bootstrap);
B -->|设置 EventLoopGroup| C(NioEventLoopGroup);
B -->|设置 Channel 类型| D(NioSocketChannel);
B -->|设置 Handler| E(ClientChannelInitializer);
E -->|初始化 ChannelPipeline| F(ChannelPipeline);
F -->|添加 IdleStateHandler| G(IdleStateHandler);
F -->|添加 StringEncoder| H(StringEncoder);
F -->|添加 StringDecoder| I(StringDecoder);
F -->|添加 NettyClientHandler| J(NettyClientHandler);
B -->|连接到服务器| K(ChannelFuture);
K -->|连接成功| L(Channel);
K -->|连接失败| A;
L -->|接收数据| F;
F -->|数据流向| I --> J;
L -->|发送数据| F;
F -->|数据流向| H;
subgraph 客户端核心组件
A
B
C
D
E
end
subgraph ChannelPipeline
F
G
H
I
J
end
subgraph 连接与数据流
K
L
end
J -->|处理业务逻辑| M(业务逻辑处理);
M --> N(MQTTClient);
M --> O(FileUtils);
M --> P(缓存数据);
M --> Q(定时任务);
J --> R(断线重连);
R --> A;