| | |
| | | |
| | | switch (event.state()) { |
| | | case READER_IDLE: |
| | | log.warn("读空闲超时 - 可能服务器未响应"); |
| | | log.debug("读空闲超时 - 可能服务器未响应"); |
| | | ctx.close(); // <-- 必须加这句 |
| | | break; |
| | | case WRITER_IDLE: |
| | | // 写空闲时主动发心跳 |
| | |
| | | log.debug("写空闲 -> 发送心跳包 时间戳={}", timestamp); |
| | | break; |
| | | case ALL_IDLE: |
| | | log.info("读写都空闲 - 可考虑关闭连接或重连"); |
| | | log.debug("读写都空闲 - 可考虑关闭连接或重连"); |
| | | break; |
| | | } |
| | | } else { |
| | |
| | | InetSocketAddress remoteAddress = (InetSocketAddress) channel.remoteAddress(); |
| | | String host = remoteAddress.getHostString(); |
| | | int port = remoteAddress.getPort(); |
| | | log.error("与六合服务{}:{}连接断开!", host, port); |
| | | log.error("与边缘服务器服务{}:{}连接断开!", host, port); |
| | | TyTcpServerCache.putTcpServerCache(serverId, false); |
| | | super.channelInactive(ctx); |
| | | } |