New to socket programming in C#.. Have very basic questions

My current scenario

I need to develop a TCP-IP client-server network such that two programs can communicate with each other. One simulator program receives information and needs to accurately display the same graphically, the other one is basically connected to a large lab apparatus that puts out detailed info about its functioning.. I would like the lab program to send info to the simulator program.

Questions

  1. Which of these would be the server and client?

  2. How best to send information from lab to sim? There are numerours objects (50-60) in the lab that need to keep sending on/off state and/or numeric info to the sim. How to send and parse multiple messages..

  3. What are some basic best practices I should adhere to while writing basic sockets?

I’m sorry if my questions seem silly, thank you for your time!