Re: Losing UDP packets with MFC Sockets
- From: Vicent Soler <VicentSoler@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Fri, 15 Apr 2005 01:19:41 -0700
AliR,
Are you saying that in the input buffer I read from ReceiveFrom could exist
more than one packet?? I've always thoght that after receiven one
notificication I'm nly processing one packet....
Vicent
"AliR" wrote:
> You still didn't answer the question. Is this senerio being handled
> correctly?
>
> Say the sending process sends out 3 packets of 20 bytes each, while your
> receiving process is busy doing other things.
> Your receiving process does a Receive with a buffer of 100 bytes the next
> time it gets a OnReceive notificaiton. Which will receive all 60 bytes worth
> of data.
> Is the data parsed out so that all three packets gets processed?
>
> AliR.
>
> "Vicent Soler" <VicentSoler@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
> news:E82253A2-68DE-4A12-A438-5F099772D37F@xxxxxxxxxxxxxxxx
> > Hi AliR,
> >
> > This is the process to retrieving data from socket's buffer:
> >
> > 1.- After OnReceive method, a call to ReceiveFrom method is done.
> >
> > 2.- A CByteArray object is creating with 'new' with data received from
> buffer.
> >
> > 3.- The CByteArray is passed to an internal list of the socket class which
> > is later accesed by other classes.
> >
> > 4.- The process ends after sending a Windows' message to the respective
> > class to indicate the packet arrival.
> >
> > As you can see, we always try to avoid being excesive time in the
> OnReceive
> > method. We will try to introduce threads in the process in order to solve
> the
> > problem.
> >
> > Thanks
> >
> > Vicent
> >
> > "AliR" wrote:
> >
> > > This might have to do with the way you are handeling your message
> retrieval
> > > from the receive buffer, are you handeling receiving multiple message in
> a
> > > single read?
> > >
> > > AliR.
> > >
> > > "Vicent Soler" <VicentSoler@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
> > > news:3AAE5247-76AB-43A3-912A-61177FAA3A49@xxxxxxxxxxxxxxxx
> > > > Responses below....
> > > >
> > > > "Michael K. O'Neill" wrote:
> > > >
> > > > > Please give us some more information about your UDP usage (e.g.,
> packet
> > > > > size, frequency etc). IIRC, CPU load is not the main culprit in UDP
> > > packet
> > > > > loss; rather, it's network load.
> > > >
> > > >
> > > > The UDP packet size is variable but usually it can be around 50-300
> bytes.
> > > > The frequency is also difficult to calculate because the UDP Server
> send
> > > > messages using event triggers. As far as we could understand, the
> main
> > > > problem is when the UDP Client is using lot of CPT time. Then it seems
> > > that
> > > > the input buffer is being overload and packets are being discarded.
> > > >
> > > >
> > > > > The usual way to reduce UDP packet loss is to favor smaller and more
> > > > > frequent packets over larger and infrequent packets. It is often
> said
> > > that
> > > > > packets around the size of the MTU are best. Also, reduce the send
> > > buffer
> > > > > size and increase the receive buffer size.
> > > > >
> > > > > Mike
> > > > >
> > > > >
> > > > > "Vicent Soler" <VicentSoler@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in
> message
> > > > > news:9758AB39-50C0-4750-8F48-2F5399232EEA@xxxxxxxxxxxxxxxx
> > > > > > Hi all,
> > > > > >
> > > > > > We are developing a tool which uses UDP packets to receive data
> from a
> > > UDP
> > > > > > Server. The problem we have found is that some UDP packets are
> being
> > > lost
> > > > > > when the PC's CPU is near 100% and we think that this problem is
> > > related
> > > > > to
> > > > > > the Window's input buffer.
> > > > > >
> > > > > > Any suggestion to solve this problem!! Is there any way to change
> the
> > > > > input
> > > > > > buffer size of the socket and store the received packet while the
> PC
> > > is
> > > > > > processing other data? Should we use threads to extract data from
> > > sockets?
> > > > > >
> > > > > > We are really worried about this problem because we can not lose
> so
> > > much
> > > > > > packets as we do.
> > > > > >
> > > > > > Using more than one port, cuould solve the problem?
> > > > > >
> > > > > > Thanks in advance,
> > > > > >
> > > > > > Vicent
> > > > >
> > > > >
> > > > >
> > >
> > >
> > >
>
>
>
.
- Follow-Ups:
- Re: Losing UDP packets with MFC Sockets
- From: AliR
- Re: Losing UDP packets with MFC Sockets
- References:
- Losing UDP packets with MFC Sockets
- From: Vicent Soler
- Re: Losing UDP packets with MFC Sockets
- From: Michael K. O'Neill
- Re: Losing UDP packets with MFC Sockets
- From: Vicent Soler
- Re: Losing UDP packets with MFC Sockets
- From: AliR
- Re: Losing UDP packets with MFC Sockets
- From: Vicent Soler
- Re: Losing UDP packets with MFC Sockets
- From: AliR
- Losing UDP packets with MFC Sockets
- Prev by Date: Re: Losing UDP packets with MFC Sockets
- Next by Date: Re: Losing UDP packets with MFC Sockets
- Previous by thread: Re: Losing UDP packets with MFC Sockets
- Next by thread: Re: Losing UDP packets with MFC Sockets
- Index(es):
Relevant Pages
|