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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Funcion basica para enviar archivos con winsock
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Funcion basica para enviar archivos con winsock  (Leído 1,328 veces)
kabukiman

Desconectado Desconectado

Mensajes: 50


The Visual basic Scriptkiddie


Ver Perfil
Funcion basica para enviar archivos con winsock
« en: 15 Junio 2007, 12:46 pm »

Doy por supuesto que sabeis establecer la conexion entre los dos programas


Código:
Codigo para el cliente , avisar al server  con una constante para empezar la transaccion

const COMENZAR = 1 ' para preparar la tranferencia
const OK_TRANSFER = 2 'para comenzar la transferencia
dim preparado as boolean
dim tamaño_total as long
dim bytes_recibidos as long

private sub form_load()
preparado = false
recibido = 0
end sub

private sub comenzar()

winsock1.sendata COMENZAR

end sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)

dim file() as byte 'array del alamacen del archivo

if not preparado then 

Winsock1.getdata data , vbstring

tamaño_total = clng(data) 'obtenemos su tamaño

preparado = true 'nos preparamos para recibir
recibido = recibido + bytestotal 'sumamos los bits que hemos recibido
redim file(tamaño_total-1)'redimensionamos el array
open "c:\fichero.jpg" for binary access write as #1
'abrimos el fichero

winsock1.sendata OK_TRANSFER

else
winsock1.getdata archivo 'obtenemos los byte que van llegando

put #1,,archivo 'escribimos
recibido = recibido + bytestotal 'vamos acumulando lo que recibimos

if recibido >= tamaño_total then
close #1 'si recibido es mayor igual cerramos el archivo
MsgBox "Descarga completa",vbokonly,"Cliente"
end if


end if
End Sub





Ahora el codigo del server


Código:
const COMENZAR = 1 ' para preparar la tranferencia
const OK_TRANSFER = 2 'para comenzar la transferencia

Private Sub Winsock2_DataArrival(ByVal bytesTotal As Long)
Dim cmd As Integer


Winsock2.GetData cmd, vbInteger

select case(cmd)

case COMENZAR
call enviar_grandaria
case OK_TRANSFER
call enviar_fichero
end select

End Sub

private sub enviar_grandaria()
dim size as string


open "c:\archivo.jpg" for binary access read as #1

size = cstr(lof(1))' su tamaño

close #1

winsock2.sendata size 0enviamos el tamaño
ens sub

private sub enviar_fichero()

dim archivo() as byte 'array almacen

open "c:\archvo.jpg" for binary access read as #1
redim archivo(LOF(1)-1) 'redimensionams el array

get#1,,archivo



close #1

winsock2.sendata archivo 'le enviamos el archivo

end sub











« Última modificación: 15 Junio 2007, 12:52 pm por kabukiman » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Función Enviar Archivo VirusTotal (Escanea)
Programación Visual Basic
Danyfirex 2 2,164 Último mensaje 27 Mayo 2013, 07:46 am
por BlackZeroX
(PYTHON) Duda Basica. Definir funcion
Scripting
BigKaz 2 2,148 Último mensaje 4 Noviembre 2016, 08:00 am
por tincopasan
Operaciones básica sobre archivos con acceso secuencial (búsqueda, inserción, el
Java
JackWithe 1 2,219 Último mensaje 2 Octubre 2020, 22:10 pm
por rub'n
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines