Saltar la navegación

2.- Optimización de sockets.

Caso práctico

María se encuentra configurando un equipo junto a un armario de comunicaciones.

María y Juan están revisando la aplicación que están desarrollando.

María: Juan, la aplicación va muy bien pero ahora vamos a optimizar su comportamiento. Lo primero que vamos a hacer es hacer que la aplicación permita atender múltiples peticiones de forma concurrente y para ello vamos a utilizar las hebras de ejecución (threads).

Antonio: Yo he utilizado antes las hebras cuando quería que un programa hiciera varias cosas a la vez. Pero no sé muy bien como utilizarlas con sockets.

María: Es muy fácil. Vamos a hacer que cada vez que se recibe un cliente se cree una hebra para atender dicho cliente. Vamos a verlo.

Icono que simula un socket.

A la hora de utilizar los sockets es muy importante optimizar su funcionamiento y garantizar la seguridad del sistema. Como la información reside en el servidor y existen múltiples clientes que realizan peticiones es totalmente indispensable permitir que la aplicación cliente/servidor cuente con las siguientes características que veremos más adelante:

  • Atender múltiples peticiones simultáneamente. El servidor debe permitir el acceso de forma simultánea al servidor para acceder a los recursos o servicios que éste ofrece.
  • Seguridad. Para asegurar el sistema, como mínimo, el servidor debe ser capaz de evitar la pérdida de información, filtrar las peticiones de los clientes para asegurar que éstas están bien formadas y llevar un control sobre las diferentes transacciones de los clientes.
  • Por último, es necesario dotar a nuestro sistema de mecanismos para monitorizar los tiempos de respuesta de los clientes para ver el comportamiento del sistema.