What you're talking about takes place at a lower level. As an example,
say you are sending a 5Kb payload (a couple of lines of text, for
instance). 

This 5Kb is split up in packets; each one gets the right header and
checksum and is sent to their destination. There the TCP layer assembles
the separate packets, puts them in the right order and eventually passes
the data to the application. In the end you'll see the 5Kb; nicely
assembled in the proper order.

This has nothing to do with the level you're talking about: the protocol
level. You have to do the order and status housekeeping for your
protocol. You could adding a unique ID to each message to do that. If
you can't see how that's possible, try sharing some of the details of
your protocol, maybe someone on this list has an idea.

By the way, it might be a good idea to read up on the OSI model
(http://en.wikipedia.org/wiki/OSI_model). What I'm talking about is the
difference between the transport layer (TCP) and the application layer
(where your protocol functions).


Jeroen Brattinga

On Sun, 2007-12-16 at 03:58 -0800, pietry wrote:
> Shouldnt the TCP/IP protocol handle this? The TCP specs say that it makes
> sure all packets are delivered, no losses and no misorder...
> 
> The protocol can't be implemented response-based so there is nothing i can
> do in this matter.. hoped there would be a way to make sure the packets are
> received ok...
> 
> 
> Jeroen Brattinga wrote:
> > 
> > That's common in TCP (and UDP) communications. Since you never really
> > know how a packet is routed (one could be routed through Japan, the next
> > through Russia, for instance), the order is something you have to keep
> > track of. 
> > 
> > There are various ways to implement this (e.g. don't send a packet
> > before you have received a packet), and it's one of the main things you
> > have to keep in mind when implementing any network protocol!
> > 
> > 
> > Jeroen Brattinga
> > 
> > On Sun, 2007-12-16 at 03:04 -0800, pietry wrote:
> >> It works, thanks a lot :)
> >> 
> >> I also have another problem with TCP packages.. it seems that sometimes
> >> they
> >> reach in different order then i wrote to the Sessions. My question is :
> >> is
> >> this possible to be because of MINA or the settings i had to my server?
> >> Or
> >> it's a bug in my code ?
> >> 
> >> 
> >> 
> >> Jeroen Brattinga wrote:
> >> > 
> >> > You're propable using the TextLineDecoder? Then you have to set the
> >> > maximum line length property (which defaults to 1KB). Use the
> >> > setMaxLineLength method to do this.
> >> > 
> >> > Jeroen Brattinga
> >> > 
> >> > 
> >> > On Sun, 2007-12-16 at 01:43 -0800, pietry wrote:
> >> >> I tried to increase the mina buffer sizes ( both receive and send) but
> >> >> this
> >> >> still has no success. I always get the same exception : 
> >> >> buffer.org.apache.mina.common.BufferDataException: Line is too long:
> >> 2954
> >> >> (Hexdump: empty)
> >> >> Used this getSessionConfig().setReceiveBufferSize();
> >> >> and getSessionConfig().setSendBufferSize();
> >> >> Any suggestions ?
> >> > 
> >> > 
> >> > 
> >> 
> > 
> > 
> > 
> 

Reply via email to