I've successfully implemented the single server-client example here on two different physical machines. I would like to try out this scenario between 2 or more machines :
Do I proceed by:
Any code/online tutorial would be of great help.
Implement identical copies of my initial program on both machines?
No, you need a client program and a server program.
How does Machine A know that it has to send the request to machine B and not to other machines?
Because you tell it. You have to tell the client (A) where the server B is.
B knows A's IP.
B doesn't need to know A's IP. It will get that when A connects, not that it needs it at all: all it needs is the connection, to write the response to. It is A that needs to know B's IP.
But I'm concerned about how it sends the request to B only.
Because you program it that way. I don't understand your concern.
Right now, I'm not concerned about any race condition between the 'clients' while they return status.
You really must sort out your terminology. Your 'clients' are really servers and vice versa.