ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Tipos de socket

nodierInforme19 de Agosto de 2013

550 Palabras (3 Páginas)487 Visitas

Página 1 de 3

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 proceso, que cambiar de un proceso a otro.

Implementaciones

Hay dos grandes categorías en la implementación de hilos:

Hilos a nivel de usuario.

Hilos a nivel de kernel.

Un thread tiene:

Nombre

Prioridad

ESTADOS DE UN THREAD

Cambio de estados

Creación: Cuando se crea un proceso se crea un hilo para ese proceso. Luego, este hilo puede crear otros hilos dentro del mismo proceso, proporcionando un puntero de instrucción y los argumentos del nuevo hilo. El hilo tendrá su propio contexto y su propio espacio de la columna, y pasara a la final de los listos.

Bloqueo: Cuando un hilo necesita esperar por un suceso, se bloquea (salvando sus registros de usuario, contador de programa y punteros de pila). Ahora el procesador podrá pasar a ejecutar otro hilo que esté en la final de los Listos mientras el anterior permanece bloqueado.

Desbloqueo: Cuando el suceso

...

Descargar como (para miembros actualizados) txt (4 Kb)
Leer 2 páginas más »
Disponible sólo en Clubensayos.com