Código fuente C y C++

Ejemplos

En esta sección iremos incluyendo ficheros fuente, de algunos problemas que nos hemos ido encontrando. Rebuscaremos en nuestras bibliotecas, e intentaremos incluir todo aquello que pueda ser de utilidad o que tenga alguna característica didáctica.

También incluímos aquí algunos programas que los colaboradores han ido enviándonos.

Intentaremos que los programas o funciones estén lo mejor documentadas posible, y explicaremos la necesidad que hizo surgir cada programa y la utilidad que pueda tener, así como sus limitaciones y fallos.

Temas

Los programas y enlaces están clasificados por temas, elige el tema que prefieras del menú de la derecha.


Gethosbyaddres Dario Tamburi (2003-09-09)

Este es un ejemplo que usa la función de base de datos de winsock gethosbyaddr que obtiene el nombre del dominio y dirección IP correspondiente a una dirección de red.

Esta función es necesaria para toda aplicación que corre en internet para que una vez ingresado el dominio al cual el cliente se quiere conectar realiza un consulta DNS para determinar cual es la IP al cual debe conectarse.

Funciona en modo consola bajo W95, programado en VC++.

¿Cómo funciona?

  • Conectarse a internet.
  • Abrir una ventana MSDOS.
  • Ejecutar el programa con el parámetro. Ejemplo gesthosbyaddres 200.2.2.1

Aspectos a tener en cuenta:

  • Incluir el archivo de cabecera winsock.h
  • En el coplilador enlazar con la libreria de winsock, usualmente llamado wsock32.lib o winsock32.lib. En este caso esta enlazado de la siguiente forma: en project setting object/library modules incluir el archivo ws2_32.lib y en tool options solapa directories se debe agregar em include file el directorio donde esta el archivo winsock.h y en library file el directorio donde esta el archivo ws2_32.lib.
  • Para disponer de la libreríra socket, antes de comenzar a trabajar; se debe llamar a:
 WSADATA wsaData;

 if (WSAStartup(MAKEWORD(1, 1), &wsaData) != 0) {
 cerr << "WSAStartup fallo";
 return 1;
 }
 
  • WSAStarup. Se debe llamar a esta funcion antes de llamar a cualquiera otra de winsock. Nos permite especificar que version de la API de windos socket va a necesitar nuestro programa. Se establece una negocición entre la aplicación y Winsock.dll
  • WSCleanup() termina sesion desde los DLL subyacentes de winsock.

Detalles

  • gesthosbyaddres.cpp
Fichero
Tamaño
byaddres.zip
1477

Gethosbyname Dario Tamburi (2003-09-09)

Este es un ejemplo que usa la función de base de datos de winsock gethosbyname que obtiene el nombre del dominio y dirección IP correspondiente a un nombre de anfitrión.

Esta funcion es necesaria para toda aplicación que corra en internet para que una vez ingresado el dominio al cual el cliente se quiere conectar realiza un consulta DNS para determinar cual es la IP al cual debe conectarse.

Funciona en modo consola bajo W95, programado en VC++.

¿Como funciona?

  • Tenes que conecarte a internet.
  • Abrir una ventana MSDOS
  • Ejecutar el programa. Ejemplo dns www.tusitio.com

Aspectos a tener en cuenta:

  • Incluir el archivo de cabecera winsock.h
  • En el compilador enlazar con la libreria de winsock, usualmente llamado wsock32.lib o winsock32.lib. En este caso esta enlazado de la siguiente forma: en project setting object/library modules incluir el archivo ws2_32.lib y en tool options solapa directories se debe agregar em include file el directorio donde está el archivo winsock.h y en library file el directorio donde esta el archivo ws2_32.lib.
  • Para disponer de la librería socket, antes de comenzar a trabajar; se debe llamar a:
WSADATA wsaData;
if (WSAStartup(MAKEWORD(1, 1), &wsaData) !=0) {
 cerr << "WSAStartup fallo";
 return 1;
}
  • WSAStarup. Se debe llamar a esta función antes de llamar a cualquiera otra de winsock. Nos permite especificar que version de la API de windos socket va a necesitar nuestro programa. Se establece una negocición entre la aplicación y Winsock.dll
  • WSCleanup() termina sesion desde los DLL subycentes de winsock

Detalles

  • gethostbyname.cpp
Fichero
Tamaño
byname.zip
1400