Re: Losing UDP packets with MFC Sockets
- From: Vicent Soler <VicentSoler@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Thu, 14 Apr 2005 08:19:02 -0700
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: Michael K. O'Neill
- 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
- 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
|