elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: juegos i vedeojuegos c++ en: 11 Julio 2011, 04:32 am
En C/C++ claro que se pueden crear juegos, como en muchos otros lenguajes de programacion.

Mi recomendacion es que si empieces leyendo distintos libros y articulos de programacion para juegos o formas de crear juegos. Y si estas decidido busca tu motoro de juego, es como distintas librerias que vienen con funciones que te ayudan a crear tus juegos. Hay muchas como SDL, Allegro, DarkGDK (la que uso yo) o sino tambien puedes hacerte una propia lo cual es muy complejo para empezar.
2  Programación / Programación C/C++ / Transfiere la mitad del archivo. [winsock] en: 1 Julio 2011, 01:42 am
Hola, los otros dias se me dio al curiosidad de aprender sockets y aca esto. Mi problema es que cuando envio un archivo (en este caso una imagen png) me envia la mitad y entonces no se puede abrir la imagen en el formato que le corresponde.

Este es el codigo del cliente donde envio el archivo (no paso la conexión y eso por que sino se hace un poco largo):

Código:
void FileSend( SOCKET sock, const char *dir )
{
int fSize = 0;
char szSize[30];
char szSend[3500];

FILE *file = fopen( "C:\\Lari\\Programacion\\Sockets\\fondo.png", "rb" );

fSize = GetFileSize( file );
printf(" Tamaño del archivo a enviar: %d\n\n", fSize );
sprintf( szSize, "%d", fSize );
send( sock, szSize, strlen(szSize), 0);

while( !feof( file ) )
{
fgets( szSend, 3500, file );
send( sock, szSend, 3500, 0 );

printf( "\tCopiando archivo....\n" );
};

fclose( file );
printf( "\n\nArchivo enviado correctamente....\n" );
}

Este es el del servidor que recive la informacion:
Código:
void FileRecive( SOCKET sock, int len )
{
char szSize[30];
char *szBuffer;
int iSize = 0;
int iRecv = 1;

FILE *file = fopen( "C:\\Lari\\Programacion\\Sockets\\fondo2.png", "wb+" );

printf( "Escribiendo archivo....\n" );

while( iSize == 0 )
{
iRecv = recv( sock, szSize, 30, 0 );

if( strlen(szSize) > 3 )
iSize = atoi( szSize );
}

printf( "Tamaño: %d", iSize );
szBuffer = new char[iSize];

do
{
if( iRecv == SOCKET_ERROR )
break;

iRecv = recv( sock, szBuffer, iSize, 0 );

fputs( szBuffer, file );

} while( iRecv != 0 );

printf( "\n\nArchivo recivido correctamente!!.\n" );

//printf( "\n\n\n ...................... \n\"%s\"\n", szRecv );
fclose( file );
}

Bueno si alguien puede saber porque se lo agradeceria mucho!

Si cometi algun error en la publicacion de este thread avisenmen porque es mi primer thread en este foro, gracias!.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines