This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
RunasSudo-AWOLindefinitely's profile picture

Rednet multicasting

Started by RunasSudo-AWOLindefinitely, 25 December 2012 - 11:30 PM
RunasSudo-AWOLindefinitely #1
Posted 26 December 2012 - 12:30 AM
I propose that a new function, rednet.multicast(address), and its counterpart rednet.receiveMulticast(address) be implemented.

If a computer broadcasts a message to address "1.2.3.4", only computers receiving on address "1.2.3.4" would receive the message (just like UDP). This would make some things a lot easier to program, such as broadcasting to multiple computers with one statement, not 10 rednet.send() statements.

http://en.wikipedia.org/wiki/Multicast
AfterLifeLochie #2
Posted 26 December 2012 - 12:32 AM
Do you mean something like rednet.broadcast() ?

On a side-note; channels for Rednet have been suggested a lot - not sure of the status, though.
Sammich Lord #3
Posted 26 December 2012 - 12:35 AM
On a side-note; channels for Rednet have been suggested a lot - not sure of the status, though.
They were planned in the 1.4.5 update but never added. I heard that they are being worked on but I am not sure.
Cloudy #4
Posted 26 December 2012 - 01:34 AM
It was never planned for any certain update - it is just a "maybe in the future".
ChunLing #5
Posted 26 December 2012 - 01:54 PM
There was quite a discussion about how exactly to add channels. It seems like, when they do get added, probably as many or more people will be displeased with how as are pleased to have them.

I personally favor just nerfing broadcast into effective oblivion and calling it a day. But that's just the sloth talking.
Saiyt #6
Posted 28 December 2012 - 08:34 PM
For anyone reading this looking for an interim solution:

It's not very resource efficient, but a relatively simple function could be written which would do the following:
1. broadcast a message using rednet.broadcast
2. wait for client computers to respond (run around with a floppy drive to the relevant computers, you'll have to be at them at some point to find their ID anyway)
3. write the id from the rednet.receive to a file
4. iterate through the file with rednet.send
5. ???
6. profit!

7. I agree multicast would be useful..
That being said, if you wrote the function once, you wouldn't have to write the rednet.send so many times —