Título: Mandar archivo exe por socket Publicado por: grester43hck en 19 Julio 2010, 18:07 pm Hola! mi problema es al mandar un archivo exe por socket, lo abro como binario y lo envio, supongo que ese es el problema, que no hay que leerlo como binario :P si me dicen como se lo agradezco. aqui les dejo la parte del codigo donde lo leo/mando y deonde lo recojo/guardo:
Código: Dim Buf As String * 1024 Código: Dim Texto As String Gracias ;). Título: Re: Mandar archivo exe por socket Publicado por: Elemental Code en 19 Julio 2010, 20:38 pm Puede que yo sea un salame sin remedio perooo.
Obtener codigo: Código
Para escribir Codigo: Código
Ahora adapta eso para que funcione con tu codigo Título: Re: Mandar archivo exe por socket Publicado por: grester43hck en 19 Julio 2010, 21:02 pm GRacias por responder :D pero sigo con el problema, al pasar el archivo, se queda dañado o algo parecido y al ejecutarlo sale la tipica cmd que intenta ejecutar algo pero que no ejecuta nada :-\ La verdad es que en transferencia de archivos no tengo mucha esperiencia que se diga... :P pero no sera que no se puede leer como un archivo binario? al ser exe no se si eso influye... De todas formas gracias por el code, es mas pequeño que el mio y esta mas claro :P
Título: Re: Mandar archivo exe por socket Publicado por: BlackZeroX en 20 Julio 2010, 00:09 am GRacias por responder :D pero sigo con el problema, al pasar el archivo, se queda dañado o algo parecido y al ejecutarlo sale la tipica cmd que intenta ejecutar algo pero que no ejecuta nada :-\ La verdad es que en transferencia de archivos no tengo mucha esperiencia que se diga... :P pero no sera que no se puede leer como un archivo binario? al ser exe no se si eso influye... De todas formas gracias por el code, es mas pequeño que el mio y esta mas claro :P Intenta usar en lugar de String un Array Byte(), también usa un protocolo de transferencia, habitualmente de forma local es muy rápida la transferencia por lo cual se corta el archivo, pero son en casos Raros... intenta de igual manera no estar abriendo y cerrando tanto el archivo, déjalo abierto y cuando termine de resivir el archivo lo cierras !¡. P.D.: Un carácter en un String = 2 bytes 1 carácter en un ArrayBye = 1 Byte xP (Lógica), ya qué el array es consecutivo y sin separador!¡, en el string es todo lo contrario!¡.. Sangriento Infierno Lunar!¡. Título: Re: Mandar archivo exe por socket Publicado por: grester43hck en 20 Julio 2010, 10:18 am Bueno, vamos avanzando ^^ . Ya al menos haciendolo sin envio por socket se copia bien, lo hize con el metodo de array, ahora mi pregunta es la siguiente: ¿Como envio ese array por el socket? por que lo he intentado con un
Código: socket.senddata array Pero supongo que abra alguna forma mas facil y rapida ¿no? Gracias. Título: Re: Mandar archivo exe por socket Publicado por: BlackZeroX en 20 Julio 2010, 10:27 am solo pasa la variable del array por el senddata!¡
Ejemplo: Código
En el servidor te recomiendo de igual manera recoger los datos con un array tipo byte solo pasa la variable en el getdata y grabalo en el archivo eso seria todo!¡. Sangriento Infienro Lunar!¡. Título: Re: Mandar archivo exe por socket Publicado por: grester43hck en 20 Julio 2010, 11:38 am Ok, antes de nada gracias de nuevo :D , como ya no se que hago mal :-[, posteo el codigo aqui, y me decis que puede ser... Son varias partes:
La primera, envia el tamaño del archivo para luego redimensionar el array alli: Código: Private Sub Enviar_Click() La segunda parte, que envia el archivo: Código: Private Sub envio_DataArrival(ByVal bytesTotal As Long) Y por ultimo el codigo de la otra aplicacion que recoje todo lo anterior: Código: Private Sub envio_DataArrival(ByVal bytesTotal As Long) Eso es todo, y no funciona!!! Gracias. Título: Re: Mandar archivo exe por socket Publicado por: ABDERRAMAH en 20 Julio 2010, 11:43 am quita el on error y ejecuta en modo debug, el programa se te parará y visual studio te señalará el error.
Citar On Error GoTo error_Sub eso fuera y modo debug... a ver si te enteras de algo.Título: Re: Mandar archivo exe por socket Publicado por: grester43hck en 20 Julio 2010, 11:53 am El caso es que error no da, es directamente que no copia el archivo...
Título: Re: Mandar archivo exe por socket Publicado por: ABDERRAMAH en 20 Julio 2010, 12:05 pm Buff, ahí ya me rompes...
Título: Re: Mandar archivo exe por socket Publicado por: grester43hck en 20 Julio 2010, 14:57 pm ok simplifique bastante el codigo y ahora si que lo envia :D peeeero como no.. no funciona... sige sin funcionar el exe que envio... es mas, prove a enviar el mismo exe pero a guardarlo en txt en vez de en exe y en vez de algo ilegible, eran todo espacios en blanco o.O ¿alguna idea de por que solo se envian o recojen espacios en blanco en vez de lo que se deve?
Título: Re: Mandar archivo exe por socket Publicado por: FFernandez en 20 Julio 2010, 15:12 pm Creo que debes de declarar la varible en el form como Private ó en un modulo Bas como publica para que se pueda recoger!!
ReDim Data(fLen) ' solo al principio, cuando lo lees. Private data() as byte ó Public data() as byte De esta forma permanecerá la información disponible y podras guardarlo en otro sitio. Espero haberte servido de ayuda. Un saludo Título: Re: Mandar archivo exe por socket Publicado por: BlackZeroX en 20 Julio 2010, 22:19 pm Antes que nada Tabula Tu Código es ILEGIBLE, no se puede detectar ningún error así, es como estar leyendo Chino!¡. solo pasa la variable del array por el senddata!¡ Ejemplo: Código
En el servidor te recomiendo de igual manera recoger los datos con un array tipo byte solo pasa la variable en el getdata y grábalo en el archivo eso seria todo!¡. Sangriento Infierno Lunar!¡. en un evento DataArrival Código
Es lo ultimo qué pongo aquí... Dulces Lunas!¡. Título: Re: Mandar archivo exe por socket Publicado por: grester43hck en 21 Julio 2010, 08:48 am Bueno pues al final si salió :D ya funciona a la perfección!! muchas gracias a todos. Si quereis posteo el codigo final, pero es muy parecido al de BlackZeroX.
|