Tipos de socket
Enviado por nodier • 19 de Agosto de 2013 • Informe • 550 Palabras (3 Páginas) • 443 Visitas
1. QUE ES UN SOCKET
Un socket es un punto final de un enlace de comunicación de dos vías entre dos programas que se ejecutan a través de la red
2. TIPOS DE SOCKET
Orientado a conexión:
Establece un camino virtual entre servidor y cliente, fiable, sin pérdidas de información ni duplicados, la información llega en el mismo orden que se envía
El cliente abre una sesión en el servidor y este guarda un estado del cliente
El cliente utiliza la clase Socket
El servidor utiliza la clase ServerSocket
No orientado a conexión:
Envío de datagramas de tamaño fijo. No es fiable, puede haber pérdidas de información y duplicados, y la información puede llegar en distinto orden del que se envía.
No se guarda ningún estado del cliente en el servidor, por ello, es más tolerante a fallos del sistema.
Tanto el cliente como el servidor utilizan la clase DatagramSocket.
COMUNICACIÓN ENTRE CLIENTE Y SERVER
Con C en Unix/Linux, los pasos que debe seguir un programa servidor son los siguientes:
Apertura de un socket,
Avisar al sistema operativo
Avisar al sistema de que comience a atender dicha conexión de red.
Pedir y aceptar las conexiones de clientes al sistema operativo
Escribir y recibir datos del cliente, por medio de las funciones write() y read(),
Cierre de la comunicación y del socket, por medio de la función close(),
COMUNICACIÓN ENTRE CLIENTE Y SERVER
Los pasos que debe seguir un programa cliente son los siguientes:
Apertura de un socket, como el servidor, por medio de la función socket()
Solicitar conexión con el servidor por medio de la función connect().
Escribir y recibir datos del servidor por medio de las funciones write() y read().
Cerrar la comunicación por medio de close().
¿QUE ES UN THREAD
Es una característica del OS que permite a una aplicaciones realizar varias tareas a la vez.
Un thread no puede ejecutarse por sí mismo, ha de hacerlo dentro de un programa.
¿QUE GANAMOS?
Conseguimos concurrencia entre procesos y también dentro de un mismo proceso.
También podemos conseguir paralelismo si disponemos de una arquitectura
Multiprocesador
DIFERENCIA ENTRE THREADS Y PROCESOS
Los hilos se distinguen de los tradicionales procesos
En que los procesos son generalmente independientes, llevan bastante información de estados, e interactúan sólo a través de mecanismos de comunicación dados por el sistema.
Por otra parte, muchos hilos generalmente comparten otros recursos de forma directa. En muchos de los sistemas operativos que dan facilidades a los hilos, es más rápido cambiar de un hilo a otro dentro del mismo
...