Para comprender realmente a los clientes y servidores, necesita saber qué es un socket y cómo funciona.
Básicamente, un cliente envía solicitudes a los servidores, y un servidor responde proporcionando un servicio deseado. El servicio puede ser cualquier cosa: proporcionar datos, proporcionar el tiempo de CPU, proporcionar archivos y más.
Tanto el servidor como los clientes contienen un socket. Un socket es un punto final que se ejecuta en la red (y la existencia de un socket significa que hay una conexión de dos dispositivos que se comunican entre sí). Un socket se indica mediante su dirección IP y su número de puerto. Un socket no es la conexión, sino el ENDPOINT de la conexión entre dispositivos.
- ¿Cuál es un buen lugar para aprender a programar en D?
- ¿Es posible ser un gran ingeniero de software si eres malo en matemáticas?
- ¿Hay mucha demanda de programadores capacitados en CUDA? ¿Qué tipo de trabajos son estos?
- ¿Cuáles son algunos de los mejores auriculares para ingenieros de software que trabajan en un entorno de oficina abierta?
- Entre STAAD.Pro o ETABS, ¿cuál tiene una buena cantidad de demanda en el mercado?
¿Cuál es la diferencia entre una dirección IP y un puerto? Esta fuente es buena: ¿Diferencia entre el número de puerto y la dirección IP? Básicamente, una dirección IP identifica un dispositivo o computadora específico, pero un número de puerto identifica un programa específico que se ejecuta en ese dispositivo.
Ahora, para describir la arquitectura general del modelo cliente-servidor: TCP es el principal medio de conexión entre servidores y clientes. Inicialmente, un servidor solo espera, escuchando su socket para que un cliente haga una solicitud de conexión.
Un cliente es el que inicia la conexión consultando con un servidor. Si el servidor lo aprueba, se forma una conexión, desde la cual un cliente puede solicitar servicios, y luego el servidor puede proporcionar ese servicio.
Si está más interesado, aquí hay otra gran fuente sobre sockets y redes: http://docs.oracle.com/javase/tu…
Otra gran fuente se basa en la programación de Android: codepath / android_guides