Hi Lee,

On 9/8/06, Lee Kemp <[EMAIL PROTECTED]> wrote:

Thanks Trustin,

Just to answer Nilas I am using Mina 0.9.5 on Fedora Core 4.

I have changed my codec to use DemuxingProtocolCodecFactory and it
has made a big difference.  I am not longer receiving messages
missing there headers but I am still getting some (not as many) with
the header of the next message on the end of it.

if the length of the message is to long I am returning
MessageDecoder.NOT_OK in my decodable method. If I do this a then a
"ProtocolDecoderException: No appropriate message decoder" gets
thrown by the DemuxingProtocolCodecFactory and the user gets
disconnected from the server.

Is there a better way for me to check if my message is to long or to
make sure it stops at the next messages header?


You shouldn't return NOT_OK but return OK after reading until just before
the beginning of the next message.  Then DemuxingProtocolCodecFilter will
take care of splitting the next message for you.  And there can be a case
when the received buffer doesn't contain a whole message, then you have to
return NOT_YET, then DemuxingProtocolCodecFilter will call the decoder again
when more data is received.

BTW I think you really need to understand how TCP/IP works because it's not
a problem of MINA, but it's an expected behavior of TCP/IP.

Trustin
--
what we call human nature is actually human habit
--
http://gleamynode.net/
--
PGP key fingerprints:
* E167 E6AF E73A CBCE EE41  4A29 544D DE48 FE95 4E7E
* B693 628E 6047 4F8F CFA4  455E 1C62 A7DC 0255 ECA6

Reply via email to