# java-netty-websocket-demo **Repository Path**: ling_233/java-netty-websocket-demo ## Basic Information - **Project Name**: java-netty-websocket-demo - **Description**: java netty websocket 断线重连 demo - **Primary Language**: Java - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-03-03 - **Last Updated**: 2025-03-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Java Netty WebSocket 断线重连 Demo ## 需求 1. 服务端每秒向客户端发送一条数据,客户端每10秒向服务端发送一条数据 2. 实现断线重连 ## 分支 1. master分支 2. incorrect分支 ## master分支 正确的写法 ## incorrect分支 错误的写法 1. 因为服务端每秒向客户端发送一条数据,所以服务端不会触发写空闲IdleState.WRITER_IDLE,就不会向客户端发送心跳PING,就不会收到客户端回的PONG。 2. 因为客户端每10秒向服务端发送一条数据,而服务端读空闲IdleState.READER_IDLE设置的间隔是5秒,所以客户端向服务端发送数据的频率不足以阻止服务端读空闲的触发。 3. 客户端在写空闲时会向服务端发心跳PING,不发送数据时,向服务端每2秒发一次心跳PING,但无法阻止服务端触发读空闲。 基于以上3点,会导致网络正常的情况下,服务端会频繁触发读空闲主动断开连接,这是错误的。