Simple Network Library
Simple network library | ||
---|---|---|
![]() | ||
Información general | ||
Tipo de programa | Biblioteca informática | |
Desarrollador | Jesús Hernández Gormaz (autor inicial) | |
Licencia | GPL (software libre) | |
Información técnica | ||
Programado en | C | |
Versiones | ||
Última versión estable | (Aun en fase beta) (5 de Abril del 2009) | |
Última versión en pruebas | 0.0.0 (5 de Abril del 2009) | |
Enlaces | ||
Simple Network Library (SNL) es una biblioteca desarrollada con el lenguaje C que proporcionan funciones para realizar operaciones de comunicación en red.
Proporciona herramientas para el desarrollo de videojuegos y cualquier otra aplicación. Una de sus grandes virtudes es el tratarse de una biblioteca multiplataforma, soportando oficialmente los sistemas GNU/Linux y OpenSolaris, además de otras arquitecturas/sistemas como windows, MacOS... Las siglas le vienen de Simple Network Library que se traduce como biblioteca de red simple. Desarrolladas inicialmente por Jesús Hernández Gormaz, desarrollador de videojuegos para la plataforma GNU/Linux entre otros programas informáticos programados.
Soporta los protocolos de IP tanto de IPv4 como de IPv6 además de los protocolos de comunicación TCP y UDP.
La biblioteca se distribuye bajo la licencia GPL.
Ejemplos
Ejemplo del uso de SNL usando IPv4 en C.
#include <stdio.h>
#include <string.h>
#include <SNL/SNL.h>
int main(int argc, char *argv[]){
int conexion;
char texto[9024];
char direccion[1024], informacion[500];
grupo_conexiones *a;
register int i;
informacion_biblioteca_SNL(&informacion[0], 500);
strcpy(&texto[0], "GET ");
printf("Host: %s\n", "google.es");
SNL_DNS(&direccion[0], "google.es", NULL, 1024, 0);
printf("DNS obtenido %s\n", &direccion[0]);
SNL_DNS_IPv4(&direccion[0], "google.es");
printf("DNS obtenido %s\n", &direccion[0]);
strcat(&texto[0], "/index.html");
strcat(&texto[0], " HTTP/1.1\r\nHost: ");
strcat(&texto[0], "www.google.es\r\nContent-Type: text/html\r\n\r\n-*-\r\n");
conexion= SNL_conectar_TCP_IPv4(&direccion[0], 80);
printf("conectado\n");
printf("texto copiado\n");
a= SNL_nuevo_grupo_conexiones(SIN_CONEXION);
SNL_nueva_conexion_grupo(conexion, a);
if(SNL_enviar_grupo_TCP(a, &texto[0], strlen(&texto[0]), 0) == 0){
printf("enviado\n");
}
SNL_tiempo_espera_grupo(a, 2, 0);
SNL_comprobar_grupo_conexiones(a);
SNL_tiempo_espera_grupo(a, 0, 500000);
while(SNL_conexion_activa_grupo_conexiones(a) == conexion){
if(SNL_recibir_TCP(conexion, &texto[0], 90024, 0) <= 0){
break;
}else{
printf("%s", &texto[0]);
}
if(SNL_comprobar_grupo_conexiones(a) == -1){
break;
}
}
SNL_cerrar_grupo_conexiones(a);
printf("\n%s\n\n", &informacion[0]);
return 0;
}
Enlaces externos
- www.snl.ya.st - Página oficial de SNL.
- www.code.google.com/p/simplenetworklibrary/ - Pagina de Google code con el código fuente de SNL.