public abstract class AbstractRemoteAddressFilter<T extends java.net.SocketAddress> extends ChannelInboundHandlerAdapter
Channel的功能。
如果你想实现你自己的基于IP的过滤器,你应该继承这个类。 基本上你必须实现accept(ChannelHandlerContext, SocketAddress)来决定你是要接受还是拒绝来自远程地址的连接。
此外,覆盖channelRejected(ChannelHandlerContext, SocketAddress)可让您灵活地响应拒绝(拒绝)的连接。 如果您不想发送回复,只需让回复为空。 详情请看RuleBasedIpFilter 。
ChannelHandler.Sharable| Constructor and Description |
|---|
AbstractRemoteAddressFilter() |
| Modifier and Type | Method and Description |
|---|---|
protected abstract boolean |
accept(ChannelHandlerContext ctx, T remoteAddress)
在 Channel获得注册后立即调用此方法。
|
protected void |
channelAccepted(ChannelHandlerContext ctx, T remoteAddress)
如果这种方法被称为
remoteAddress得到由接受
accept(ChannelHandlerContext, SocketAddress) 。
|
void |
channelActive(ChannelHandlerContext ctx)
|
void |
channelRegistered(ChannelHandlerContext ctx)
|
protected ChannelFuture |
channelRejected(ChannelHandlerContext ctx, T remoteAddress)
如果这种方法被称为
remoteAddress被否决
accept(ChannelHandlerContext, SocketAddress) 。
|
channelInactive, channelRead, channelReadComplete, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggeredensureNotSharable, handlerAdded, handlerRemoved, isSharableclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waithandlerAdded, handlerRemovedpublic void channelRegistered(ChannelHandlerContext ctx) throws java.lang.Exception
ChannelInboundHandlerAdapter
ChannelHandlerContext.fireChannelRegistered()转发到ChannelPipeline中的下一个ChannelInboundHandler 。
子类可以重写此方法来更改行为。
channelRegistered在界面
ChannelInboundHandler
channelRegistered在课堂上
ChannelInboundHandlerAdapter
java.lang.Exception
public void channelActive(ChannelHandlerContext ctx) throws java.lang.Exception
ChannelInboundHandlerAdapter
ChannelHandlerContext.fireChannelActive()转发到ChannelPipeline中的下一个ChannelInboundHandler 。
子类可以重写此方法来更改行为。
channelActive在界面
ChannelInboundHandler
channelActive在课堂上
ChannelInboundHandlerAdapter
java.lang.Exception
protected abstract boolean accept(ChannelHandlerContext ctx, T remoteAddress) throws java.lang.Exception
Channel获得注册后立即调用此方法。
java.lang.Exception
protected void channelAccepted(ChannelHandlerContext ctx, T remoteAddress)
remoteAddress得到由接受accept(ChannelHandlerContext, SocketAddress) 。
如果您想处理(例如响应)已接受的地址,则应该覆盖它。
protected ChannelFuture channelRejected(ChannelHandlerContext ctx, T remoteAddress)
remoteAddress被否决accept(ChannelHandlerContext, SocketAddress) 。
如果您想处理(例如回复)拒绝的地址,则应该覆盖它。
ChannelFuture如果您执行I / O操作,以便Channel完成后可以关闭。
否则为空。
Copyright © 2008–2018 The Netty Project. All rights reserved.