主动发送指令后,客户端未给对应的回执,在服务器端如何判断对方没有回复指令并且重新发送
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 安装svn网络有问题怎么办
- ¥15 Python爬取指定微博话题下的内容,保存为txt
- ¥15 vue2登录调用后端接口如何实现
- ¥65 永磁型步进电机PID算法
- ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
- ¥88 找成都本地经验丰富懂小程序开发的技术大咖
- ¥15 如何处理复杂数据表格的除法运算
- ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
- ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
- ¥15 latex怎么处理论文引理引用参考文献