消息释放问题
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积分~
来为老师/同学的回答评分吧
0 星