问题出现在,服务器发出指令(ch.writeAndFlush(...))后,设备由于某些原因没有收到这条指令无法响应,服务器端如何判断设备一段时间内没有回调,然后重新发送此条指令呢?
服务端将channel放到一个发送队列中,如果收到客户端响应的消息,则从队列删除该channel,如果没有,则重发(超过一定时间),这里一般使用定时器来触发。(但需要判断该channel的连通性,如果channel已经close或因网络问题断开,则需要从队列中移除)