Volver a la Zona de Manuales de ComputerFacil

Guía Beej de Programación en Redes

Uso de sockets de Internet

Brian "Beej" Hall


beej@piratehaven.org

Historial de Revisiones
Versión de la revisión: 1.0.0Agosto de 1995Revisado por: beej
Versión Inicial
Versión de la revisión: 1.5.5
13 de Enero de 1999Revisado por: beej
Versión más reciente en HTML.
Versión de la revisión: 2.0.06 de Marzo de 2001Revisado por: beej
Convertido a DocBook XML, correcciones, añadidos.
Versión de la revisión: 2.3.18 de Octubre de 2001Revisado por: beej
Corregidas algunas erratas, error de sintaxis en client.c, se añaden algunas cosas a la sección de Preguntas más comunes.

Tabla de Contenidos
1. Introducción
1.1. Destinatarios
1.2. Plataforma y compilador
1.3. Sitio web oficial
1.4. Nota para programadores Solaris/SunOS
1.5. Nota para programadores Windows
1.6. Política de respuesta a correos electrónicos
1.7. Replicación
1.8. Nota para traductores
1.9. Copyright y distribución
2. ¿Qué es un socket?
2.1. Dos tipos de Sockets de Internet
2.2. Tonterías de bajo nivel y teoría de redes
3. structs y manipulación de datos
3.1. ¡Convierte a valores nativos!
3.2. Direcciones IP y como tratarlas
4. Llamadas al sistema
4.1. socket()--¡Consigue el descriptor de fichero!
4.2. bind()--¿En qué puerto estoy?
4.3. connect()--¡Eh, tú!
4.4. listen()--Por favor que alguien me llame
4.5. accept()--"Gracias por llamar al puerto 3490."
4.6. send() y recv()--¡Háblame, baby!
4.7. sendto() y recvfrom()--Háblame al estilo DGRAM
4.8. close() y shutdown()--¡Fuera de mi vista!
4.9. getpeername()--¿Quién eres tú?
4.10. gethostname()--¿Quién soy yo?
4.11. DNS--Tú dices "whitehouse.gov", Yo digo "198.137.240.92"
5. Modelo Cliente-Servidor
5.1. Un servidor sencillo
5.2. Un cliente sencillo
5.3. Sockets de datagramas
6. Técnicas moderadamente avanzadas
6.1. Bloqueo
6.2. select()--Multiplexado de E/S síncrona
6.3. Gestión de envíos parciales con send()
6.4.Consecuencias de la encapsulación de datos
7. Referencias adicionales
7.1. Páginas del manual (man)
7.2. Libros
7.3. Referencias en la web
7.4. RFCs
8. Preguntas más comunes
9. Declinación de responsabilidad y solicitud de ayuda