Re: Losing UDP packets with MFC Sockets



Vicent Soler wrote:

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

I have seen the same problem with short packets (512 bytes) at high data rates. Two things improved it a lot. Use a thread for the socket with the thread priority set higher than normal. Turn off the Win XP "eye candy" in favor of the traditional Windows appearance.


You can change the buffer size with SetSockOpt. I don't know if it will matter.

--
Scott McPhillips [VC++ MVP]

.



Relevant Pages

  • Re: UDP broadcasting problem
    ... I would wager that the other 25 udp packets came in, ... Depening on the scalability of what you're doing, ... for each socket you're listening on and receive data that way. ...
    (microsoft.public.dotnet.languages.csharp)
  • Twisted: UDP socket not closed.
    ... I have to send UDP packets very often. ... But socket is not closed after sending packet. ... def startProtocol: ... debug("Data client: ...
    (comp.lang.python)
  • Re: [UDP] Bind the local that is already in use
    ... I also make an experiment with two receivers and one sender. ... first socket will receive the traffic. ... "For UDP, Is it feasible and able to bind sockets to the same local address ... send UDP packets to the SAME remote address. ...
    (microsoft.public.win32.programmer.networks)
  • Re: Determine remote IP when using UDP Listener?
    ... I've created a new class "stateObject", fill it, pass it and extract the socket on Endreceive. ... But I can't read the RemoteEndPoint property when using _UDP_. ... UDP packets. ...
    (microsoft.public.dotnet.framework.compactframework)
  • Losing UDP packets with MFC Sockets
    ... We are developing a tool which uses UDP packets to receive data from a UDP ... Server. ... the Window's input buffer. ... buffer size of the socket and store the received packet while the PC is ...
    (microsoft.public.vc.mfc)