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