Protocol specific channel handlers
Posted
by
Mickael Marrache
on Stack Overflow
See other posts from Stack Overflow
or by Mickael Marrache
Published on 2012-07-05T09:06:26Z
Indexed on
2012/07/05
9:15 UTC
Read the original article
Hit count: 305
I'm writing an application server that will receive SIP and DNS messages from the network.
When I receive a message from the network, I understand from the documentation that at first, I get a ChannelBuffer
. I would like to determine which kind of message has been received (SIP or DNS) and to decode it.
To determine the message type, I can dedicate port to each type of message, but I would be interested to know if there exist another solution for that. My question is more about how to decode the ChannelBuffer
.
Is there a ChannelHandler
provided by Netty to decode SIP or DNS messages? If not, what would be the right place in the type hierarchy to write my custom ChannelHandler
?
To illustrate my question, let's take as example the HttpRequestDecoder
, the hierarchy is:
java.lang.Object
org.jboss.netty.channel.SimpleChannelUpstreamHandler
org.jboss.netty.handler.codec.frame.FrameDecoder
org.jboss.netty.handler.codec.replay.ReplayingDecoder<HttpMessageDecoder.State>
org.jboss.netty.handler.codec.http.HttpMessageDecoder
org.jboss.netty.handler.codec.http.HttpRequestDecoder
Also, do I need to use two different ChannelHandler
for decoding and encoding, or is there a possibility to use a single ChannelHandler
for both?
Thanks
© Stack Overflow or respective owner