In network communication, there is no concept of variables, or structs. What you are doing is sending a sequence of bytes.
So the idea of sending structs, is the same as sending a single value: Convert the struct into a sequence of bytes (serialization), write it to the socket, and on the other end, convert the sequence of bytes back into a struct (deserialization).
So now your problem becomes one of serialization: How do I serialize a struct?
Which is just the composition of serializing individual values of the struct.
What is more common
typically you want to reduce the amount of network traffic. So if you have all the data you want to send upfront, sending it at once is going to be more efficient then manually chunking the data by sending each name/score pair separately.