Sokets

Páginas: 31 (7705 palabras) Publicado: 10 de abril de 2011
Programación de aplicaciones distribuidas usando sockets
1a Versión: José Luis Díaz. Octubre 1994. 2 Versión: José Ramón Arias. Nov. 1998, Oct. 1999, Oct. 2000.
a

Índice general
1. Programación de aplicaciones distribuidas usando sockets 1.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2. Implementación en el sistema operativo . . . . . . . . . . . . 1.3.Conceptos de diseño . . . . . . . . . . . . . . . . . . . . . . . 1.3.1. Dirección final genérica . . . . . . . . . . . . . . . . . 1.3.2. Utilización del API para TCP/IP . . . . . . . . . . . . 1.4. Programación con el interfaz de sockets . . . . . . . . . . . . 1.5. Uso de los sockets . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.1. Creación del socket: socket() . . . . . . . . . . . . . .1.5.2. Asignar una dirección al socket: bind() . . . . . . . . 1.5.3. Conexión en sockets tipo stream . . . . . . . . . . . . . 1.5.4. Conexión en sockets tipo datagram . . . . . . . . . . . 1.5.5. Transferencia de información en sockets tipo stream: write() y read() . . . . . . . . . . . . . . . . . . . . 1.5.6. Transferencia de información en sockets tipo datagram: sendto() y recvfrom() . . . . . . .. . . . . . . . . . 1.5.7. Cerrar la conexión: close() y shutdown() . . . . . . . 1.6. Ejemplo con sockets tipo stream . . . . . . . . . . . . . . . . . 1.6.1. Servidor . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.2. Cliente . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7. Desarrollo de aplicaciones. Tipos de servidores . . . . . . . . . 1.7.1. Concurrencia real . . . . . . .. . . . . . . . . . . . . . 1.7.2. Concurrencia aparente . . . . . . . . . . . . . . . . . . 1.8. Otras funciones interesantes . . . . . . . . . . . . . . . . . . . 1.8.1. Obtener el IP de un nodo: gethostbyname() . . . . . 1.8.2. Obtener el nombre de un nodo: gethostbyaddr() . . . 1.8.3. Obtener servicios y puertos por su nombre . . . . . . . 1.9. Análisis del interfaz de sockets . . . . . . . .. . . . . . . . . 2 2 2 3 5 5 6 7 8 10 15 19 19 21 22 24 24 25 27 28 31 37 38 39 39 41

1

Capítulo 1

Programación de aplicaciones distribuidas usando sockets
1.1. Introducción

En 1981 en la Universidad de California en Berkeley diseñaron para su sistema operativo, el BSD Unix, un interfaz para permitir a los programas acceder y comunicarse a través de una red de comunicaciones. Eseinterfaz, conocido como el interfaz de sockets, se incorporó a la versión 4.1 del sistema operativo. Como ese sistema operativo fue adoptado por varios fabricantes de estaciones de trabajo como Sun Microsystems Inc., Tektronix Inc. o Digital Equipment Corp., el interfaz de sockets estuvo disponible en gran cantidad de máquinas. El interfaz fue tan ampliamente aceptado que se convirtió en unestándar de facto. El UNIX System V usa en su lugar el Transport Level Interface (TLI). No obstante el uso de los sockets está tan extendido que es habitual que cualquier implementación de UNIX disponga de este interfaz por compatibilidad con el BSD.

1.2.

Implementación en el sistema operativo

Una de las ideas iniciales en el diseño de los sockets era utilizar las funciones que suministra elsistema operativo Unix siempre que fuera posible y, añadir nuevas llamadas al sistema si era difícil encajar los requerimientos de la programación en red con las funciones existentes en el operativo. (Consultar [1] para una explicación más detallada). En Unix, cuando una aplicación desea realizar operaciones de entrada/salida, llama a la función open para crear un descriptor de fichero que se usaráluego para acceder al fichero. El sistema operativo implementa los descriptores de ficheros como un array de punteros a estructuras internas de datos. Para cada proceso, el sistema mantiene una tabla de descriptores 2

Tabla de descriptores 0: 1: 2: 3: 4:

Estructura de datos para un socket Familia de Protocolo: PF_INET Servicio: SOCK_STREAM Dirección Final: ....

Figura 1.1: Estructura de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Comunicacion Con Sokets
  • Sokets tutorial

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS