On 9/28/07, Sungwon Jung <[EMAIL PROTECTED]> wrote:
> Hello. I'm using MINA 1.1.2.
>
> let me see my server code.
>
> --
> public class PacketReqAnalysis extends CumulativeProtocolDecoder
> {
>   protected boolean doDecode(IoSession session, ByteBuffer in,
> ProtocolDecoderOutput out) throws Exception {
>     int start = in.get() & 0xFF;
>     if( start == 0xCC ) {
>       // do something
>       System.out.println( "IN" );
>       return true;
>     } else {
>       System.out.println( "OUT" );
>       return false;
>     }
> --
>
> if client send message to server slowly(this mean, not very fast),
> "if( start == 0xCC )" routine can catch message. (print "IN")
>
> but if client send message to server very fast, "if( start == 0xCC )"
> routine cannot catch message. (print "OUT")
>
> is it normal problem?

It's the problem of your codec.  In TCP/IP, a packet can be split into
multiple packets and multiple packets can be merged into small number
of packets.  We call it 'fragmentation and assembly'.  Therefore, your
codec must consider such a situation.  Actually it's not really
difficult to take account into that.  Please refer to our protocol
codec tutorial in the documentation page.

HTH,
Trustin
-- 
what we call human nature is actually human habit
--
http://gleamynode.net/
--
PGP Key ID: 0x0255ECA6

Reply via email to