Título: Problema transferencia de archivos con winsock Publicado por: BeRti en 15 Abril 2006, 02:33 am Wenas. La cosa es que no consigo hacer que funcione correctamente me estoy komiendo la kabeza y fijo que es una gilipoyez lo que me falta pero weno, a ver si me echa una mano alguien y tal.... Salu2
CLIENTE: Código: Private Sub command1_click() SERVIDOR: Código: 'Declaraciones globales: Título: Re: Problema transferencia de archivos con winsock Publicado por: BenRu en 15 Abril 2006, 02:49 am Donde te da el error?
Nada mas verlo veo que ahi un fallo, un integer no puede almacenar 8192 '8 kb Un saludo Título: Re: Problema transferencia de archivos con winsock Publicado por: BeRti en 15 Abril 2006, 03:27 am Perdón me expresé mal, keria decir que por internet no funciona bien, los archivos al llegar siempre okupan menos que el original, luego son inservibles, pero en mi pc si que lo kopia korrectamente unas veces y otras no, no lo entiendo...
Título: Re: Problema transferencia de archivos con winsock Publicado por: NYlOn en 15 Abril 2006, 10:00 am 1º Como haces para provarlo con tu propia pc ?? Estas sobreescribiendo el archivo que te llega sobre el que estas mandando, no se si me explico. Vos abris el archivo C:\hola.jpg y le decis al servidor que guarde los datos que le vas a mandar en el archivo C:\hola.jpg, no crea uno nueva. Proba con esto:
Código: ruta = "C:\hola.jpg" 2º Tenes un End Sub en el medio del evento DataArrival del servidor =S No se si es que copiaste mal o que. 3º Podrias provar cambiando el While por un For: Código: For i = 0 t Tamaño Step fragmento Con respecto a lo que dice BenRu es cierto que una variable del tipo Integer no puede almacenar 8192 '8 kb pero, ahi hay un apostrofe (comilla, palito) lo que estaria marcando un comentario. Por lo tanto la variable esta almacenando el numero 8192, lo que no generaria un error. No se, fijate en estas cosas, espero que te sean utiles. Y por favor pone en que parte te marca el error, asi es mas facil ayudarte. Un abrazo.- Título: Re: Problema transferencia de archivos con winsock Publicado por: BeRti en 15 Abril 2006, 14:32 pm Gracias por responder NYlOn, mira es que lo de que el archivo se llama igual y lo sobreescribe es cierto pero en el proyecto lo habia cambiado, eso ya no era problema. Lo pruebo en mi propio pc ejectuando el server y el cliente y probando, y si que copia el archivo perfectamente.
El problema no es que me de errores, sino que al probarlo por intenernet con un amigo, al enviar el archivo que elija, sea hola.jpg que es un ejemplo o sea cualquier otro, nunca llega completo, siempre le faltan unos kuantos KBs, y no tengo ni idea de por que.... por cierto buena idea el for, pero me sigue pasando lo mismo :( ... yo kreo que el problema debe estar en el codigo del servidor pero no se que modificar para solucionarlo.... alguna ideA? Título: Re: Problema transferencia de archivos con winsock Publicado por: BenRu en 15 Abril 2006, 15:07 pm Y para que sirve la variable fragmento pues?
Recuerda que cuando utilizas el integer solo te recoje 8192, y se queda el 0'12 sin recojerse. Un saludo Título: Re: Problema transferencia de archivos con winsock Publicado por: NYlOn en 15 Abril 2006, 20:46 pm y qu hay de esto:
Código: transfiriendo = True Que hace ese End Sub ahi =S?? Título: Re: Problema transferencia de archivos con winsock Publicado por: BeRti en 15 Abril 2006, 22:01 pm Vale mirad, ya he conseguido que funcione en mi pc, ejecutando el server y el cliente. pero por intenernet no funciona, siempre el archivo al llegar ocupa menos que el de origen, es komo si se perdiesen paketes.... no se por que pasa... os dejo el codigo que he conseguido hacer:
cliente: ( extraido del curso del troyano de fulano, por que el que hice yo funcionaba pero solo aveces :S) Código: Private Sub command1_click() servidor: Código: Dim transfiriendo As Boolean Título: Re: Problema transferencia de archivos con winsock Publicado por: Ironhorse en 17 Abril 2006, 20:10 pm Que protocolo estas usando? TCP es confiable y orientado a la conexión, UDP no es confiable y no esta orientado a la conexión (confiable quiere decir que se asegura que los paquetes lleguen, y en el orden correcto, o en todo caso si se pierde definitivamente un paquete, se sabe que el paquete se perdio).
Tal vez sea esa la causa. Saludos |