Programación de red: para mantener los enchufes o no?

Actualmente estoy traduciendo una API de C # a Java que tiene un componente de red.

La versión de C # parece mantener abiertas las secuencias de entrada y salida y el socket durante la duración de sus clases utilizadas.

¿Es esto correcto

Teniendo en cuenta que la aplicación está enviando comandos y recibiendo eventos basados en la entrada del usuario, ¿es más sensato abrir un nuevo flujo de socket para cada "mensaje"?

Mantengo un ServerSocket para escuchar los eventos de lanzamiento del servidor, pero no estoy tan seguro de que mantener una corriente Socket y de salida para comunicaciones salientes sea una buena idea.

No estoy realmente acostumbrado a la programación de Socket. Al igual que con muchos desarrolladores, generalmente trabajo en la capa de aplicación cuando necesito hacer redes y no en la capa de socket, y han pasado 5 o 6 años desde que hice esto en la universidad.

Cheers por la ayuda. Supongo que esto es más pedir consejo que una respuesta definitiva.

Respuestas a la pregunta(7)

Su respuesta a la pregunta