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

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Como enviar archivo por internet
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Como enviar archivo por internet  (Leído 2,833 veces)
~~
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.981


Ver Perfil WWW
Como enviar archivo por internet
« 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

Open "C:\imagen.jpg" for binary as #1
h = space(LOF(1))
get #1,,h
close #1

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
ws.getdata A
txtRecibido.text = A

Código:
Private Sub txtRecibido_Change()

If left(txtRecibido.text, 3) = "img" then

Open "C:\captura.jpg" For Binary As #1
Put #1, , Mid(txtRecibido.Text, 4)
Close #1

End If

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


En línea

WarGhost
I love basket


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: Como enviar archivo por internet
« Respuesta #1 en: 12 Septiembre 2006, 18:12 pm »

eso ami me pasava es por el textbox prueva metiendolo a una varible ;).


En línea

~~
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.981


Ver Perfil WWW
Re: Como enviar archivo por internet
« Respuesta #2 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)

Dim data As String 'Declaracion
Dim vData As Variant 'Declaracion
Dim pr 'Declaracion

ws(Index).GetData data
vData = Split(data, "|")

If Left(data, 3) = "esc" Then ' Aki esta el if para la captura de pantala, el resto estan en el Text

Open "C:\captura.jpg" For Binary As #1
Put #1, , Mid(data, 4)
Close #1

Exit Sub
End If

Select Case vData(0)
Case "Conexion" 'Cose de conexion
Set pr = ListConexion.ListItems.Add(, Index & "|", vData(1)) 'Agreamos una nueva conexion a listview
pr.SubItems(1) = vData(2) & "/" & ws(Index).RemoteHostIP
pr.SubItems(2) = vData(3) & "/" & vData(4)
pr.SubItems(3) = vData(5)
pr.SubItems(4) = vData(6)
End Select

txtRecibido.Text = data

End Sub


SERVER:
Código:
Private Sub txtRecibido_Change()

If txtRecibido.Text = "esc" Then ' Toma la imagen del esc remoto

foto.SetSamplingFrequencies 2, 2, 2, 2, 2, 2
foto.Quality = 50   
foto.SampleScreen
foto.SaveFile ("c:\" & "\capture" & ".jpg")

Dim ñ As String

Open "C:\capture.jpg" For Binary As #1
ñ = Space(LOF(1))
Get #1, , ñ
Close #1

ws.SendData "esc" & ñ

End If

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
En línea

WarGhost
I love basket


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: Como enviar archivo por internet
« Respuesta #3 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
En línea

WarGhost
I love basket


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: Como enviar archivo por internet
« Respuesta #4 en: 12 Septiembre 2006, 19:28 pm »

Mira este codigo que acavo de hacer:

Server:
Código:
Private Sub Form_Load()
ws.Close
ws.Connect "127.0.0.1", 2848
End Sub

Private Sub ws_Connect()
ws.SendData "Tam:" & FileLen("C:\Prueba.txt")
End Sub

Private Sub ws_DataArrival(ByVal bytesTotal As Long)
Dim data As String
Dim Send As String
ws.GetData data

If Left(data, 8) = "SendFile" Then
Open "C:\Prueba.txt" For Binary As #1
Send = Space(LOF(1))
Get #1, , Send
Close #1

ws.SendData Send
End If

End Sub


Cliente:
Código:
Dim DataFile As String
Dim LenFile As Long
Dim Envio As Boolean

Private Sub Form_Load()
ws.LocalPort = 2848
ws.Listen
Envio = False
End Sub

Private Sub ws_ConnectionRequest(ByVal requestID As Long)
ws.Close
ws.Accept requestID
End Sub

Private Sub ws_DataArrival(ByVal bytesTotal As Long)
Dim data As String
ws.GetData data

If Envio = True Then
DataFile = DataFile & data
ProgressBar1.Value = Len(DataFile)
If Len(DataFile) = LenFile Then
Open "C:\Prueba2.txt" For Binary As #1
Put #1, , DataFile
Close #1
MsgBox "El Fichero se a Enviado Correctamente"
Envio = False
ProgressBar1.Value = 0
End If
End If

If Left(data, 4) = "Tam:" Then
LenFile = Mid(data, 5)
ProgressBar1.Max = LenFile
Envio = True
ws.SendData "SendFile"
End If

e puesto ademas para que salga un ProgressBar1 ;) si no lo quiere simplemente elimina estas lineas:

Código:
ProgressBar1.Max = LenFile
ProgressBar1.Value = 0
ProgressBar1.Value = Len(DataFile)


Espero que te aya ayuda.

P.D: Gracias por usar el codigo del Papper ;)
;D Salu2, WarGhost
« Última modificación: 12 Septiembre 2006, 19:32 pm por WarGhost » En línea

dPix

Desconectado Desconectado

Mensajes: 222


¬_¬ - ¬O.o


Ver Perfil
Re: Como enviar archivo por internet
« Respuesta #5 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
En línea

WarGhost
I love basket


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: Como enviar archivo por internet
« Respuesta #6 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
En línea

~~
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.981


Ver Perfil WWW
Re: Como enviar archivo por internet
« Respuesta #7 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
En línea

LixKeÜ


Desconectado Desconectado

Mensajes: 392


solo es lo que es y la verdad siempre da de ganar


Ver Perfil WWW
Re: Como enviar archivo por internet
« Respuesta #8 en: 14 Septiembre 2006, 02:32 am »

 Una pregunta acaso no es TCP/IP
En línea

WarGhost
I love basket


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: Como enviar archivo por internet
« Respuesta #9 en: 14 Septiembre 2006, 02:43 am »

como ?¿?
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines