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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  PREGUNTA: COMO PUEDO ENVIAR ARCHIVOS GRANDES POR SOCKETS EN C++???
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: PREGUNTA: COMO PUEDO ENVIAR ARCHIVOS GRANDES POR SOCKETS EN C++???  (Leído 8,172 veces)
inGnio

Desconectado Desconectado

Mensajes: 14


Ver Perfil
PREGUNTA: COMO PUEDO ENVIAR ARCHIVOS GRANDES POR SOCKETS EN C++???
« en: 28 Julio 2012, 15:33 pm »

Como todos sabran el manejo de cadenas o strings es facil en sockets asi crear un chat ejemplo clasico. El punto en cuestion es mandar ficheros por sockets especificamente en dev-c++. como se maneja los stream en c++?... agradezco de antemano sus respuestas.


En línea

avesudra


Desconectado Desconectado

Mensajes: 724


Intentando ser mejor cada día :)


Ver Perfil
Re: PREGUNTA: COMO PUEDO ENVIAR ARCHIVOS GRANDES POR SOCKETS EN C++???
« Respuesta #1 en: 28 Julio 2012, 16:36 pm »

Hola , por favor no escribas en mayúsculas , entiendo que quieras que más gente lea tu post pero esa no es la forma, en cuanto a la pregunta pues podrias cargar byte a byte el archivo e irlo mandando , y dev-c++ es un IDE no un compilador, y en cuanto a lo de los streams en C++ aquí tienes toda la referencia: http://www.cplusplus.com/reference/iostream/

¡Un saludo y bienvenido al foro!


En línea

Regístrate en
fary


Desconectado Desconectado

Mensajes: 1.076



Ver Perfil WWW
Re: PREGUNTA: COMO PUEDO ENVIAR ARCHIVOS GRANDES POR SOCKETS EN C++???
« Respuesta #2 en: 28 Julio 2012, 16:45 pm »

Tienes que ir enviando el archivo por partes, me parece que el protocolo TCP/IP permite mandar unos 8000 bytes (mas o menos) en cada paquete, informate sobre cual es el máximo del paquete.

saludos.
En línea

Un byte a la izquierda.
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: PREGUNTA: COMO PUEDO ENVIAR ARCHIVOS GRANDES POR SOCKETS EN C++???
« Respuesta #3 en: 30 Julio 2012, 09:47 am »

Tienes que ir enviando el archivo por partes, me parece que el protocolo TCP/IP permite mandar unos 8000 bytes (mas o menos) en cada paquete, informate sobre cual es el máximo del paquete.

saludos.

El máximo se lo informa el propio S.O.

Código
  1.  
  2.    int uiSize = sizeof(int);
  3.  
  4.    //  Obtenemos los buffers del Sistema Operativo, tanto de Envio como de Recepción de datos.
  5.    if (::getsockopt(this->mySock, SOL_SOCKET, SO_RCVBUF, (char*)&this->uiBuffRcv, &uiSize) == SOCKET_ERROR ||
  6.            ::getsockopt(this->mySock, SOL_SOCKET, SO_SNDBUF, (char*)&this->uiBuffSnd, &uiSize) == SOCKET_ERROR)
  7.    {
  8.        closesocket(this->mySock);
  9. ...
  10.  
  11.    }
  12. ...
  13.  
  14.  

Dulces Lunas!¡.
En línea

The Dark Shadow is my passion.
inGnio

Desconectado Desconectado

Mensajes: 14


Ver Perfil
Re: PREGUNTA: COMO PUEDO ENVIAR ARCHIVOS GRANDES POR SOCKETS EN C++???
« Respuesta #4 en: 1 Agosto 2012, 20:34 pm »

Gracias a todos por su ayuda lo resolvi... como dijeron seccione en partes el archivo y lo envie... todo funciona correctamente... y no volvere a escribir con mayuscula avesudra... ;D
En línea

inGnio

Desconectado Desconectado

Mensajes: 14


Ver Perfil
Re: PREGUNTA: COMO PUEDO ENVIAR ARCHIVOS GRANDES POR SOCKETS EN C++???
« Respuesta #5 en: 1 Agosto 2012, 20:40 pm »

tambien encontre un algoritmo para el control de errores en el envio del fichero...
tratare de implementarlo completamente y publicarlo en el foro...bye
http://www.arcesio.net/checksum/checksuminternet.html ;D
En línea

dato000


Desconectado Desconectado

Mensajes: 3.034



Ver Perfil
Re: PREGUNTA: COMO PUEDO ENVIAR ARCHIVOS GRANDES POR SOCKETS EN C++???
« Respuesta #6 en: 2 Agosto 2012, 02:17 am »

tambien encontre un algoritmo para el control de errores en el envio del fichero...
tratare de implementarlo completamente y publicarlo en el foro...bye
http://www.arcesio.net/checksum/checksuminternet.html ;D

de oro este dato!!!!! gracias
En línea


fary


Desconectado Desconectado

Mensajes: 1.076



Ver Perfil WWW
Re: PREGUNTA: COMO PUEDO ENVIAR ARCHIVOS GRANDES POR SOCKETS EN C++???
« Respuesta #7 en: 3 Agosto 2012, 13:43 pm »

El máximo se lo informa el propio S.O.

Código
  1.  
  2.    int uiSize = sizeof(int);
  3.  
  4.    //  Obtenemos los buffers del Sistema Operativo, tanto de Envio como de Recepción de datos.
  5.    if (::getsockopt(this->mySock, SOL_SOCKET, SO_RCVBUF, (char*)&this->uiBuffRcv, &uiSize) == SOCKET_ERROR ||
  6.            ::getsockopt(this->mySock, SOL_SOCKET, SO_SNDBUF, (char*)&this->uiBuffSnd, &uiSize) == SOCKET_ERROR)
  7.    {
  8.        closesocket(this->mySock);
  9. ...
  10.  
  11.    }
  12. ...
  13.  
  14.  

Dulces Lunas!¡.

Cambia en cada SO el tamaño del paquete?  :-\

Yo no me la jugaría con eso y miraria el standart TCP/IP como bien dije antes, para asegurarme de que sea compatible siempre.

saludos.
En línea

Un byte a la izquierda.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como puedo enviar archivos de audio por correo
Multimedia
dafne 3 6,728 Último mensaje 22 Septiembre 2004, 19:58 pm
por Songoku
URGENTE!!! ENVIAR ARCHIVOS POR MEDIO DE SOCKETS EN JAVA
Java
SAHEKA_14 2 7,244 Último mensaje 16 Diciembre 2009, 00:47 am
por Blitzkrieg'
Disco duro multimedia, no puedo meter archivos grandes
Hardware
Jnex 8 9,970 Último mensaje 20 Agosto 2010, 15:51 pm
por PFLOPS
Cinco servicios para enviar grandes archivos de forma cómoda
Noticias
wolfbcn 3 3,369 Último mensaje 10 Mayo 2012, 20:50 pm
por crazykenny
como enviar un correo desde c++ (sockets y winsocks)?? ...
Programación C/C++
fabian7593 5 5,060 Último mensaje 26 Septiembre 2013, 09:10 am
por eferion
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines