消息释放问题

消息释放问题

protected void channelRead0(ChannelHandlerContext ctx, Message message) throws Exception {


//如果是心跳包


if(message != null && message.getType() == MessageType.CONNECT_SUCCESS.getValue()){


//50秒钟发一个心跳


heartBeat = ctx.executor().scheduleAtFixedRate(


new HeartBeatTask(ctx), 0, 50000, TimeUnit.MILLISECONDS);


}else if(message != null &&


message.getType() == MessageType.HEARTBEAT_RESP.getValue()){


System.out.println("Client reciver heart beat message : ----> " + message);


}else{


//编码好的Message传递给下一个Handler


ctx.fireChannelRead(message);


}


}

心跳包代码中有一个地方不太清楚

else if(message != null &&


message.getType() == MessageType.HEARTBEAT_RESP.getValue()){


System.out.println("Client reciver heart beat message : ----> " + message);
这块打印出来服务端返回来的心跳消息,不用把这个msg释放掉么?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
阿神 2021-06-12 16:55:02

如果写回消息就不需要释放,如果没有写回就需要做释放

  • 提问者 uareRight #1

    例子里面没有释啊

    2021-06-13 21:12:54
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师