Título: Como enviar archivo por internet Publicado por: ~~ en 12 Septiembre 2006, 18:09 pm Hola:
Vereis os cuento mi problema: Estoy intentando enviar archivos por internet, para ello, elijo un archivo y hago esto: Código: Dim h as string Y ahora lo mando con el winsock asi: Código: ws.sendata "img" & h Hasta ahí creo q lo hago todo bien (eso creo) pero el problema esta al recibir el archivo. Uso esto: Código: Dim A as string Código: Private Sub txtRecibido_Change() Pero cuando miro el archivo q e recibido, resulta q esta incompleto :huh:. Eh provado a poner las funciones en timers, por si acaso no le daba tiempo a recoger bien los datos y nada.... Y lo curioso es q lo hago con un archivo txt por ejemplo y si q me funciona :huh: :huh: :huh: :huh: Alguien sabe por qué pasa esto????????? Muxas gracias 1S4ludo Título: Re: Como enviar archivo por internet Publicado por: WarGhost en 12 Septiembre 2006, 18:12 pm eso ami me pasava es por el textbox prueva metiendolo a una varible ;).
Título: Re: Como enviar archivo por internet Publicado por: ~~ en 12 Septiembre 2006, 18:37 pm Pues nada q no hay manera....
Mira te pego el codigo tal cual a ver si me ekivoco en algo y me puedes ayudar... CLIENTE: Código: Private Sub ws_DataArrival(Index As Integer, ByVal bytesTotal As Long) SERVER: Código: Private Sub txtRecibido_Change() Como veras estoy usando tu codigo de la conexion inversa en el cliente y en el server el modulo cJpeg. Pero no tengo ni idea de por q no funciona :huh: :huh: :huh: Muxas gracias 1S4ludo Título: Re: Como enviar archivo por internet Publicado por: WarGhost en 12 Septiembre 2006, 18:59 pm No funciona porque el winsock al enviar paquetes de gran tamaño los porte y los envía en varias veces por eso lo que tienes que hacer es enviar el tamaño luego guardar todos los datos que llegan
asta que la variable llega a el peso enviado si no, no creo que te funciones. haora te ago un ejemplo ;D Salu2, WarGhost Título: Re: Como enviar archivo por internet Publicado por: WarGhost en 12 Septiembre 2006, 19:28 pm Mira este codigo que acavo de hacer:
Server: Código: Private Sub Form_Load() Cliente: Código: Dim DataFile As String e puesto ademas para que salga un ProgressBar1 ;) si no lo quiere simplemente elimina estas lineas: Código: ProgressBar1.Max = LenFile Espero que te aya ayuda. P.D: Gracias por usar el codigo del Papper ;) ;D Salu2, WarGhost Título: Re: Como enviar archivo por internet Publicado por: dPix en 12 Septiembre 2006, 23:54 pm Hola buenas, ¿mediante que protocolo podríamos enviar un archivo usando este método, es decir, mediante que método? La pregunta es muy sencilla, espero haberme explicado bien.
Salu2, dPix ;D Título: Re: Como enviar archivo por internet Publicado por: WarGhost en 13 Septiembre 2006, 02:17 am por TCP/UDP ,también tengo unos código para hacer por http pero son muy complicados ;D
Título: Re: Como enviar archivo por internet Publicado por: ~~ en 13 Septiembre 2006, 16:14 pm Hola:
Muxas gracias por la ayuda WarGhost, ahora mismo lo modifiko (asi q me extrañava a mi q los block de notas si los enviara... xDD) 1S4ludo Título: Re: Como enviar archivo por internet Publicado por: LixKeÜ en 14 Septiembre 2006, 02:32 am Una pregunta acaso no es TCP/IP
Título: Re: Como enviar archivo por internet Publicado por: WarGhost en 14 Septiembre 2006, 02:43 am como ?¿?
Título: Re: Como enviar archivo por internet Publicado por: ~~ en 14 Septiembre 2006, 16:15 pm Hola de nuevo:
E estado provando el codigo q me as pasado WarGhost y funciona perfecto, pero lo raro es q solo funciona la primera vez q ejecutas el programa :huh: :huh: :huh: :huh: Despues de provar y provar poniendo MsgBox y andar a vueltas con el debugger :-\ e haberiguado donde esta el fallo (aunke bo comprendo por q falla :-X) Mira aki esta el problema: Código: Private Sub ws_DataArrival(ByVal bytesTotal As Long) La primera vez q recibimos un fichero (en este caso una foto) nos manda el archivo y el tamaño perfectamente, pero cuando quiero recibir de nuevo esa misma foto pone la variable en true y todo perfectamente, pero antes de eso me a mandado un tamaño de archivo superior al q es realmente, y aunke ya alla recibido tooda la foto, la variable no se pone en false, ya q la linea: Código: If Len(DataFile) = LenFile Then no es cierta, y los datos q llegan los sigue acumulando para despues meterlos en la imagen... Lo mas raro es q si lo haces la primera vez funciona perfectamente, pero con la segunda envia un tamño mayor... q raro no??? Creo q el problema se debe a eso :huh: :huh: :huh: :huh: :huh: :huh: si me podeis ayudar os lo agradeceria muxo 1S4ludo ;) Título: Re: Como enviar archivo por internet Publicado por: WarGhost en 14 Septiembre 2006, 16:22 pm perdona se me a olvidado limpiar la variable y claro se van acumulando y el if falla ;).
mete esto: Código: DataFile = "" debajo debajo de esto: Código: Close #1 Sorry :-[ Título: Re: Como enviar archivo por internet Publicado por: ~~ en 14 Septiembre 2006, 17:35 pm Hola!!
Ahora mismo venia a contarte q porfin habia encontrado el problema xDD pero veo q lo has encontrado tu antes jajaja Sorry :-[ De sorry nada, todos nos ekivocamos xDD y me has ayudado muxo :P De nuevo gracias WarGhost, ahora modifico esa funcion, acabo la transferencia de archivos y ya dentro de poco publico (espero q os guste ;)) 1S4ludo |