Well, in the end, you will either have to stop generating them, or you are going to duplicate them.
On a computer, your parameters are pretty limited by pseudo random number generators (PRNGs) and given your restriction that they never repeat, then PRNG is your best option - real random data will sometimes duplicate a number.
In your case, I would prefer to use a large PRNG (32 bits or more) to shuffle your 10,000 numbers, and then send the numbers in shuffled order.
Once they are used up, you can shuffle again - since the PRNG is so large, you can go through 10,000 numbers many times before duplicating the sequence.
Give us more information on what you are doing, and we can come up with a better answer.
-Adam
Adam davis
source share