Socket
El socket es el mecanismo de comunicación básico que encapsula la información necesaria para establecer una comunicación entre dos procesos: Posiblemente en equipos separados físicamente.Un socket queda definido por una dirección IP, un protocolo de transporte y un número de puerto
ej: TCP 192.168.0.1:2345
Para que dos procesos o programas puedan comunicarse entre sí es necesarioque se cumplan ciertos requisitos:
* Que un programa sea capaz de localizar al otro.
* Que ambos programas sean capaces de intercambiar cualquier secuencia de información de acuerdo a sufinalidad.
I. Tipos de Sockets
* Orientados a conexión
* Los programas deben conectarse entre ellos con un socket. hasta que no esté establecida correctamente la conexión, ningunode los dos puede transmitir datos.
II. Tipos de Comunicación
* SOCK_STREAM: comunicación orientada a la conexión (usa TCP)
* SOCK_DGRAM: comunicación de tipo datagrama (usa UDP)
*Otros tipos:
* SOCK_SEQPAQUET : comunicación secuencial similar al tipo STREAM pero garantizando que se mantienen los límites entre mensajes.
* SOCK_RDM : comunicación fiable sin conexión(similar al tipo DGRAM pero con control de errores)
* SOCK_RAW : privilegio de ROOT. Permite acceder a los protocolos de bajo nivel.
III. Arquitectura Cliente-Servidor
Servidor
Debe estariniciado y está continuamente escuchando el socket, en espera de que otro quiera conectarse a él. Nunca da el primer paso en la conexión tiene la información y la brinda al que se la pida ej: Apache.Existen dos tipos de procesos de servidor:
El primero donde un solo Thread atiende peticiones secuencialmente y el segundo, Multithreading donde se asigna un Thread por cada solicitud.
ClienteEs el que da el primer paso, solicita la información para procesarla Ej: Firefox
Cliente y servidor tienen sus propias direcciones IP y puertos. El puerto del servidor debe ser fijo, pero el...
Regístrate para leer el documento completo.