would it not just be sufficient to rely on the computer ID numbers transmitted with each signal? I'm sure they could be spoofed, but I doubt most CC programmers would understand the concept, let alone know how it's done, let alone figure out it needs to be done to breach your setup.
OK let's step back from the coding stuff for a minute…
I agree with you that relying on the senderid would be sufficient for my scenario.
To be honest I'm completely thrown off by the concept of how communication is handled by ComputerCraft.
Let's have a look at the wiki. If "As of ComputerCraft 1.5, the Rednet API is just a wrapper for modems and channels", why is it that I don't get any other info from the modem API that rednet is wrapping.
When reading directly from a modem event I get event, modemSide, senderChannel, replyChannel, message, senderDistance but no info regarding who sent this message.
if I use rednet.receive I get a "senderid" alright but no other information like the senderChannel or the replyChannel.
Is it just me or is this really strange behaviour? When I think of computer to computer communication (and the way TCP/IP works might have a big influence on my thinking) I would say the most important stuff I can get from both APIs (modem and rednet) are:
sender, receiver, receiverchannel and maybe a replychannel
Why is some of this vital information lost when using either API? :unsure:/>
EDIT: One could argue that channels are not necessary for communication… The concept of reducing load from all computer within WLAN range by using channels to address only a single/few computers makes perfect sense. So the question remains… Why…?
EDIT 2: Btw… Again it might just be me but using rednet.receive and having my program waiting for something to happen or timeout is just ugly… -_-/> What if the receiver program should do something and maybe change behaviour when it receives a message telling it to do something else