public class DatagramPacketDecoder extends MessageToMessageDecoder<DatagramPacket>
ByteBuf解码器解码接收到的DatagramPacket的内容。
例如,
ChannelPipeline pipeline = ...; pipeline.addLast("udpDecoder", new DatagramPacketDecoder(new ProtobufDecoder(...));
ChannelHandler.Sharable| Constructor and Description |
|---|
DatagramPacketDecoder(MessageToMessageDecoder<ByteBuf> decoder)
使用指定的 ByteBuf解码器创建一个DatagramPacket解码器。
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
acceptInboundMessage(java.lang.Object msg)
如果应该处理给定的消息,则返回
true 。
|
void |
channelActive(ChannelHandlerContext ctx)
|
void |
channelInactive(ChannelHandlerContext ctx)
|
void |
channelReadComplete(ChannelHandlerContext ctx)
|
void |
channelRegistered(ChannelHandlerContext ctx)
|
void |
channelUnregistered(ChannelHandlerContext ctx)
|
void |
channelWritabilityChanged(ChannelHandlerContext ctx)
|
protected void |
decode(ChannelHandlerContext ctx, DatagramPacket msg, java.util.List<java.lang.Object> out)
从一条消息解码到另一条消息。
|
void |
exceptionCaught(ChannelHandlerContext ctx, java.lang.Throwable cause)
|
void |
handlerAdded(ChannelHandlerContext ctx)
子类可以忽略这个方法。
|
void |
handlerRemoved(ChannelHandlerContext ctx)
子类可以忽略这个方法。
|
boolean |
isSharable()
返回 true如果实现是Sharable ,因此可以被添加到不同ChannelPipeline秒。
|
void |
userEventTriggered(ChannelHandlerContext ctx, java.lang.Object evt)
|
channelReadensureNotSharablepublic DatagramPacketDecoder(MessageToMessageDecoder<ByteBuf> decoder)
ByteBuf解码器创建一个DatagramPacket解码器。
decoder - 指定的ByteBuf解码器
public boolean acceptInboundMessage(java.lang.Object msg)
throws java.lang.Exception
MessageToMessageDecoder
true 。
如果false它将被传递到ChannelPipeline中的下一个ChannelInboundHandler 。
acceptInboundMessage在课堂上
MessageToMessageDecoder<DatagramPacket>
java.lang.Exception
protected void decode(ChannelHandlerContext ctx, DatagramPacket msg, java.util.List<java.lang.Object> out) throws java.lang.Exception
MessageToMessageDecoder
decode在类
MessageToMessageDecoder<DatagramPacket>
ctx - 这MessageToMessageDecoder所属的ChannelHandlerContext
msg - 要解码到另一个的消息
out - 应该添加解码消息的
List
java.lang.Exception - 发生错误时抛出
public void channelRegistered(ChannelHandlerContext ctx) throws java.lang.Exception
ChannelInboundHandlerAdapter
ChannelHandlerContext.fireChannelRegistered()转发到ChannelPipeline中的下一个ChannelInboundHandler 。
子类可以重写此方法来更改行为。
channelRegistered接口
ChannelInboundHandler
channelRegistered在课程
ChannelInboundHandlerAdapter
java.lang.Exception
public void channelUnregistered(ChannelHandlerContext ctx) throws java.lang.Exception
ChannelInboundHandlerAdapter
ChannelHandlerContext.fireChannelUnregistered()转发到ChannelPipeline中的下一个ChannelInboundHandler 。
子类可以重写此方法来更改行为。
channelUnregistered接口
ChannelInboundHandler
channelUnregistered在课堂上
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
public void channelInactive(ChannelHandlerContext ctx) throws java.lang.Exception
ChannelInboundHandlerAdapter
ChannelHandlerContext.fireChannelInactive()转发到ChannelPipeline中的下一个ChannelInboundHandler 。
子类可以重写此方法来更改行为。
channelInactive在界面
ChannelInboundHandler
channelInactive在类
ChannelInboundHandlerAdapter
java.lang.Exception
public void channelReadComplete(ChannelHandlerContext ctx) throws java.lang.Exception
ChannelInboundHandlerAdapter
ChannelHandlerContext.fireChannelReadComplete()转发至ChannelPipeline中的下一个ChannelInboundHandler 。
子类可以重写此方法来更改行为。
channelReadComplete接口
ChannelInboundHandler
channelReadComplete在课程
ChannelInboundHandlerAdapter
java.lang.Exception
public void userEventTriggered(ChannelHandlerContext ctx, java.lang.Object evt) throws java.lang.Exception
ChannelInboundHandlerAdapter
ChannelHandlerContext.fireUserEventTriggered(Object)转发到ChannelPipeline中的下一个ChannelInboundHandler 。
子类可以重写此方法来更改行为。
userEventTriggered接口
ChannelInboundHandler
userEventTriggered ,课时
ChannelInboundHandlerAdapter
java.lang.Exception
public void channelWritabilityChanged(ChannelHandlerContext ctx) throws java.lang.Exception
ChannelInboundHandlerAdapter
ChannelHandlerContext.fireChannelWritabilityChanged()转发至ChannelPipeline中的下一个ChannelInboundHandler 。
子类可以重写此方法来更改行为。
channelWritabilityChanged在界面
ChannelInboundHandler
channelWritabilityChanged
ChannelInboundHandlerAdapter
java.lang.Exception
public void exceptionCaught(ChannelHandlerContext ctx, java.lang.Throwable cause) throws java.lang.Exception
ChannelInboundHandlerAdapter
ChannelHandlerContext.fireExceptionCaught(Throwable)转发至ChannelPipeline中的下一个ChannelHandler 。
子类可以重写此方法来更改行为。
exceptionCaught在界面
ChannelHandler
exceptionCaught在界面
ChannelInboundHandler
exceptionCaught在课堂上
ChannelInboundHandlerAdapter
java.lang.Exception
public void handlerAdded(ChannelHandlerContext ctx) throws java.lang.Exception
ChannelHandlerAdapter
handlerAdded在界面
ChannelHandler
handlerAdded在课堂上
ChannelHandlerAdapter
java.lang.Exception
public void handlerRemoved(ChannelHandlerContext ctx) throws java.lang.Exception
ChannelHandlerAdapter
handlerRemoved在界面
ChannelHandler
handlerRemoved在课堂上
ChannelHandlerAdapter
java.lang.Exception
public boolean isSharable()
ChannelHandlerAdapter
Sharable ,则返回true ,因此可以将其添加到不同的ChannelPipeline 。
isSharable在课堂
ChannelHandlerAdapter
Copyright © 2008–2018 The Netty Project. All rights reserved.