连接断开回调
Channel连接断开时,执行函数
/**
* Remover from HashMap
*/
private final ChannelFutureListener remover = new ChannelFutureListener() {
public void operationComplete(
ChannelFuture future) {
remove(future.getChannel());
}
};设置回调
channel.getCloseFuture().addListener(remover);发送成功回调
private boolean send(HttpResponse response) {
final Channel channel = connection.getChannel();
if (channel.isConnected()) {
channel.write(response).addListener(new ChannelFutureListener() {
@Override
public void operationComplete(ChannelFuture future) throws Exception {
if (future.getChannel().isOpen() && !future.isSuccess()) {
logger.debug("Send packet failure");
}
}
});
return true;
}
return false;
}
本文介绍了如何通过ChannelFutureListener实现连接断开及发送成功的回调功能。对于连接断开的情况,文章提供了一个具体示例,展示了如何从HashMap中移除对应Channel的信息。此外,还讨论了发送数据包成功后的回调处理,包括检查通道是否打开以及发送失败的日志记录。
6968

被折叠的 条评论
为什么被折叠?



