To try to track down the udpcast corrupt file problem, I ran some more tests. This time I used a ~50GB file, a sender, and only 1 receiver.
side bytes sender: 53687091200 receiver: 53686091776
In all of my large-file runs, udp-receiver comes up a bit "short", it missing some of the data, never "long".
I created a 50 GB test file with predictable text data in it, suing this ugly little program:
#include <stdio.h>
// 16 bytes per entry. // int main(void) { long long gb = 1024 * 1024 * 1024; long long m = 50 * gb; long long i; for(i = 0; i<m; i+= 16) { printf("%.15lld\n", i); } }
so that I could easily look at the files. I found that the received file ended with the same data as the sent file; in other words, the problem is *not* a matter of terminating early, or other finishing-out process.
Rather, it's much earlier. According to "cmp":
differ: byte 2098176010, line 131136001
That's a little under 2 GB of the way in to a 50 GB file.
Strangely, I ran repeated tests with 10 GB files, and didn't get any corruption.
Alain - it would warm my heart to see you ack these messages, even if you don't have a solution at hand.