Your problem is that you disconnect the socket (by calling NetworkStream.Close
) after you read the data on the server making it impossible to broadcast (send) the person object.
Remove the calls to NetworkStream.Close
in both the client and the server and your code will work as expected.