El api de sockets



Descargar 0,55 Mb.
Página1/6
Fecha de conversión07.04.2017
Tamaño0,55 Mb.
  1   2   3   4   5   6

  1. El API de sockets

Este capítulo introduce la primera herramienta de programación para implementar comunicaciones entre procesos: el API de sockets.

Como el lector podrá recordar del Capítulo 2, el API de sockets es un mecanismo que proporciona un nivel bajo de abstracción para IPC. Se presenta en este punto por su simplicidad. Aunque los programadores de aplicaciones apenas tienen que codificar en este nivel, la comprensión del API de sockets es importante al menos por dos razones. En primer lugar, los mecanismos de comunicación proprocionados en estratos superiores se construyen sobre el API de sockets; o sea, se implementan utilizando las operaciones proporcionadas por el API de sockets. En segundo lugar, para aquellas aplicaciones en las que es primordial el tiempo de respuesta o que se ejecutan sobre una plataforma con recursos limitados, el API de sockets puede ser el mecanismo de IPC más apropiado, o incluso el único disponible.


  1. Antecedentes


El API de sockets aparece por primera vez a principios de la década de los 80 como una biblioteca de programación que proporcionaba la funcionalidad de IPC en una versión del sistema operativo UNIX conocida como Unix de Berkeley (BSD 4.2). Actualmente los principales sistemas operativos dan soporte al API de sockets. En los sistemas basados en UNIX tales como BSD o Linux, el API es parte del núcleo, o kernel, del sistema operativo. En los sistemas operativos de computadores personales tales como MS-DOS, Windows NT (y sus variantes), Mac-OS y OS/2, el API se proporciona como bibliotecas de programación. (En los sistemas Windows, a esta API se la conoce como Winsock). Java, un lenguaje diseñado teniendo en cuenta la programación de aplicaciones en red, proporciona el API de sockets como parte de las clases básicas del lenguaje. Todas estas interfaces de programación de sockets comparten el mismo modelo de paso de mensajes y una sintaxis muy similar.

En este capítulo, se usará como caso representativo el API de sockets de Java.



Socket (en castellano, enchufe) es un término tomado del campo de las comunicaciones telefónicas. En los primeros días de la telefonía (anteriores al siglo XX), cuando una persona quería hacer una llamada a otra tenía que ser a través de un operador, el cual manualmente establecía una conexión introduciendo los dos extremos de un cable dentro de dos receptáculos específicos, cada uno asignado a uno de los dos interlocutores, sobre un panel de sockets (enchufes). La desconexión también la realizaba el operador manualmente. Esta metáfora fue la base del API de sockets para comunicación entre procesos.
  1. La metáfora del socket en IPC


Inspirándose en la terminología de la telefonía, el diseñador del API de sockets ha proporcionado una construcción de programación denominada socket. Cuando un proceso desea comunicarse con otro, debe crear una instancia de tal construcción (véase la Figura 4.1). Sin embargo, a diferencia de la telefonía primitiva, la comunicación entre los interlocutores puede ser orientada a conexión o sin conexión. Por claridad, primero se presentará el API de sockets sin conexión.



Figura 4.1 El modelo conceptual del API de sockets.
  1   2   3   4   5   6


La base de datos está protegida por derechos de autor ©absta.info 2016
enviar mensaje

    Página principal