Re: Multiple joins on same multicast IP/Port on same host looses p

From: Sharad_h (Sharadh_at_discussions.microsoft.com)
Date: 09/17/04


Date: Thu, 16 Sep 2004 17:37:01 -0700

I thought the socket within each process had it's own buffer. The rcvbuf size
is about 8k, my packets arrive no more than 3 a sec of .5k each. I am quite
sure I am not doing any waits inbetween. Ihave seen it handle much much more
in the single process case.(I am going to raise the buf size and see tomorow
at production time).

Of course, sometimes I can simulate and make it loose by stopping in debug
mode. However the most intriguing thing is - if I stop process A why should
process B loose packets assuming B's socket has it's own buffer cleared by B.
You are not talking of the IP buffers bottlnecked by a single processe's UDP
buffer filling up I suppose?

Thanks

"Alun Jones [MSFT]" wrote:

> "Sharad_h" <Sharadh@discussions.microsoft.com> wrote in message
> news:036DD650-AF7B-48BF-9F9F-E19CC8851AED@microsoft.com...
> > I have multiple processes on the same host joining the same multicast
> address
> > say 235.65.65.120 port 15500. I use the resuse address socket option which
> > allows me to bind to the same port.
> >
> > However, some of the processes randomly(20%) donot seem to receive a copy
> of
> > the packet addressed to the port/IP, some of the times. I use XP Pro SP1.
> >
> > Anyone heard of this problem?
>
> Multicast is UDP, which has no reliability features built into it. As a
> result, it is possible, when your buffer space is used up, particularly when
> packets are being received quickly, to lose data (or to have data repeated).
> This is true between processes on the same machine, because each gets
> timesliced in a different way - by the time thread 1 is scheduled, the data
> that was available in the buffer for thread 0 may already have drifted out.
> Is the transmission pushing the speed of the network, and/or the speed of
> your CPU? Do you lose data if you ensure that the data arrives one packet
> every half second?
>
> Alun.
> ~~~~
>
>
>



Relevant Pages

  • Re: Socket switch delay
    ... The server uses blocking sockets just because I am also using Overlapped IO ... structures to send the packets. ... The reason I am using a 0 bytes send buffer in my socket (i.e. ...
    (microsoft.public.win32.programmer.networks)
  • netstat -s output: "packets pruned" and "packets collapsed"
    ... 4087 packets pruned from receive queue because of socket buffer ... 362332 active connections openings ...
    (comp.os.linux.networking)
  • Re: Datagram Socket Speed Problem
    ... I'd say that there's not a single thing wrong with the socket. ... When the buffer is full (because you're trying to send faster than the ... network bandwidth will allow), it tosses the packets. ... > The receiver program start receiving packets... ...
    (microsoft.public.dotnet.framework.compactframework)
  • Windows 2003SP2 Socket Sends are much slower than Windows XP on my
    ... written to the socket is 64k I get max performance independently of the OS. ... If I start to reduce the buffer size down to 1k the performance on WinXP ... After evaluating a wireshark network trace, the packets sent from the ...
    (microsoft.public.win32.programmer.networks)
  • Re: In-tree version of new FireWire drivers available
    ... Just to recap, the dual buffer receive mode, as described in section ... quadlet aligned amount of header data can be appended into one buffer ... *either* the header buffer or the payload buffer fills up. ... enough to hold headers for all the packets it takes to fill up the ...
    (Linux-Kernel)