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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ejercicio BSD Sockets
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ejercicio BSD Sockets  (Leído 1,567 veces)
Gonzi_Malaga

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Ejercicio BSD Sockets
« en: 5 Noviembre 2015, 12:21 pm »

Buenas! Estoy con una puñetera práctica de Erasmus que tenemos que hacer sin que nos expliquen nada... alguno sabría como cojones hacer esto? porque ni siquiera en google encuentro nada...

Create C/C++ program for UNIX operating system using BSD sockets which will download specified object (page,
picture, generally any file) from WWW server.
· Final program should be compiled into filename called download.
· Create makefile which can be used for automatic compilation of source file(s)
by typing make statement in UNIX shell.
· Downloaded file will have name as presented in URL or index.html for default
index page.


Graciaaaaas!


En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Ejercicio BSD Sockets
« Respuesta #1 en: 5 Noviembre 2015, 16:13 pm »

Esto son y así se usan los sockets BSD: http://wiki.treck.com/Introduction_to_BSD_Sockets
Por lo demás, descargar un archivo o página de una web, y guardarla en un fichero.

Para descargar de la web, necesitarás conocer el protocolo HTTP. Busca acerca de él, o mira algún ejemplo, como https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_message

Te toca trabajarlo. La complejidad de este problema en mi opinión se centra en:
-1: Controlar los sockets: abrirlos, enviar datos, recibir datos
-2: Controlar el protocolo HTTP: Pedir al servidor, recibir datos del servidor
-3: Los datos recibidos del servidor, tendrán que ser separados entre cabecera y cuerpo. Lo que pondrás en el archivo, es el cuerpo, así que separarlos correctament ees esencial.

Como datos en los que fijarte del protocolo HTTP, decir que el campo "content-length" de la cabecera, te dice el tamaño del cuerpo en bytes, y que el cuerpo comienza a partir de 2 saltos de linea contiguos ("\r\n\r\n").

Si tienes más problemas, comenta.


En línea

Gonzi_Malaga

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Ejercicio BSD Sockets
« Respuesta #2 en: 5 Noviembre 2015, 16:44 pm »

Pero el procedimiento a seguir cual sería?
abro el socket
envio que dato?
como lo recibo?

Ando muy perdido en C y con sockets mas aun y leo que send es para TCP y UDP me pierdo... (HTTP era con TCP?)
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Ejercicio BSD Sockets
« Respuesta #3 en: 5 Noviembre 2015, 22:47 pm »

Sí, HTTP es TCp. Envías la petición, y luego esperas la respuesta.
Busca por ahí información sobre el protocolo HTTP.
Si quieres un ejemplo más en vivo, puedes ver las peticiones que envía el navegador, y las respuestas. Para ello, en Firefox por ejemplo, le das a "Inspeccionar elemento" en el menú del botón secundario del ratón, y vas a "Red".

En resumen, primero trata de abrir un socket TCP. Luego, mira acerca del protocolo HTTP.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Ejercicio] Aca tienen un ejercicio para practicar « 1 2 3 »
Programación Visual Basic
Dreamaker 20 15,800 Último mensaje 5 Septiembre 2010, 02:57 am
por TGa.
ejercicio conclase pag 70 ejercicio 1
Programación C/C++
flony 2 4,317 Último mensaje 17 Octubre 2010, 12:16 pm
por Akai
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines