C # enviar objetos de estructura a través de socket

He leído un poco la programación cliente / servidor en c #. Estoy lo suficientemente familiarizado con este proceso para hacer la siguiente pregunta:

¿Cómo transmito objetos de estructura a través de tcp / ip en lugar de solo cadenas?

Mi aplicación es un juego en red con capacidades de chat. así que en lugar de solo transmitir texto, me gustaría implementar una estructura de datos o de clase que tenga dos campos: i. tipo de paquete ii. los datos para el tipo de paquete

y transmitiría esto cuando fuera necesario durante la ejecución de la aplicación, y descodificaría el objeto de datos en el extremo receptor y lo ubicaría donde corresponda.

No busco código, solo algunas ideas y declaraciones de búsqueda que puedo enviar a Google, así que lo haré. tener una mejor comprensión

He leído acerca de la serialización / de serialización, ¿es ese el camino a seguir?

Gracias.

He revisado las publicaciones que aparecieron como temas relacionados, pero aún me gustaría más información.

Respuestas a la pregunta(6)

Su respuesta a la pregunta