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