主动发送指令后,客户端未给对应的回执,在服务器端如何判断对方没有回复指令并且重新发送
2条回答
- 强化脑细胞 2019-04-28 10:33关注
包上public class MessageHandler extends ChannelInboundHandlerAdapter implements ChannelOutboundHandler {
重写方法
@Override
public void channelActive(ChannelHandlerContext ctx) throws Exception {
Map newMap = new HashMap<>();
// 每隔三秒重发一次消息
ctx.executor().scheduleAtFixedRate(() -> {
if (map.size() > 0) {
map.forEach((k, v) -> {
ctx.writeAndFlush(v.data);
v.times = v.times + 1;
if (v.times < 3) {
// 保留未发送三次的。
newMap.put(v.id, v);
}
});
}
map = newMap;
}, 3, 3, TimeUnit.SECONDS);
}
按照方法实现你自己的业务逻辑解决 无用评论 打赏 举报
悬赏问题
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 保护模式-系统加载-段寄存器