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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Transferencia de archivos, AYUDA
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Transferencia de archivos, AYUDA  (Leído 4,997 veces)
Kizar


Desconectado Desconectado

Mensajes: 1.325


kizar_net


Ver Perfil
Transferencia de archivos, AYUDA
« en: 11 Julio 2005, 00:34 am »

Hola a todos, pues el problema es que en el trayano que estoy haciendo al enviar los archivos no les envia enteros, solo envia un poco del principio, aqui os dejo el codigo a ver si alguno encontrais el problema, por que llo llevo mas de una semana y no lo e encontrao.

Nota : "vbParseData" lo utilizo para partir los archivos a la llegada seria igual que lo que usais muchos "|" .

Código:
Dim i As Long
Dim Arch As String
Dim Buffer as string
Arch = "C:\stub.log"
Buffer = Space$(25000)
   
    Open Arch For Binary Access Read As #1
     
    For i = 1 To FileLen(Arch) / 25000 'hacemos la division de las veces que tendra que leer y enviar
    Get #1, , Buffer 'leemos
    Winsock_server.SendData "archi" & vbParseData & Buffer
    DoEvents
   
    If FileLen(Arch) - Loc(1) <= 25000 Then 'como el for no utiliza los  decimales enviamos los restos
    Buffer = Space$(FileLen(Arch) - Loc(1)) 'redimensianamos la variable con el num de bites que faltan
    Get #1, , Buffer 'leemos
    Winsock_server.SendData "archi" & vbParseData & Buffer
    DoEvents
    End If
    Next i

    Winsock_server.SendData "fin"
    Close #1

Salu2


En línea

maxnet

Desconectado Desconectado

Mensajes: 65



Ver Perfil
Re: Transferencia de archivos, AYUDA
« Respuesta #1 en: 12 Julio 2005, 07:25 am »


creo que 25000 es mucho prueba con 8000 o menos

o puede ser que lo envias muy rapido
quita doevents y create una pausa de uno milisegundos

saludos!!!


En línea



Slasher-K


Desconectado Desconectado

Mensajes: 1.477


Ver Perfil
Re: Transferencia de archivos, AYUDA
« Respuesta #2 en: 13 Julio 2005, 02:05 am »

El problema no es tu RAM sino que el ancho de banda no soporta tanto, cuando se envían datagramas por la web no deben ser muy grandes porque al pasar por tantos servidores los datos se podrían perder o peor, pueden llegar corrompidos.

Primero intenta envíar menos cantidad de datos, si no funciona se buscará otra solución.

Pero igualmente esa forma de leer el archivo es media inestable, te dejo una alternativa.

Código:
Option Explicit

Private Type FileInfo
  Filename      As String
  FileSize      As Long
  TotalPieces   As Long
  BytesPerPiece As Long
  ByteRemaining As Long
End Type

Private Function ParseFile(Filename As String, BytesPerPiece As Long) As FileInfo
  With ParseFile
    .Filename = Filename
    .FileSize = FileLen(Filename)
    .TotalPieces = .FileSize \ BytesPerPiece
    .BytesPerPiece = BytesPerPiece
    .ByteRemaining = .FileSize Mod .ByteRemaining
  End With
End Function

Private Function CropFile(FileSpec As FileInfo) As Single
        Dim hFile%, snTime!
        Dim sData$, i&

  snTime = Timer
 
  With FileSpec
    hFile = FreeFile
   
    Open .Filename For Binary Lock Read Write As #hFile
   
    sData = String$(.BytesPerPiece, 0)
   
    For i = 1 To .TotalPieces
      If i < .TotalPieces Then
        Get #hFile, , sData
      Else
        sData = String$(.ByteRemaining, 0)
       
        Get #hFile, , sData
      End If
     
      'Luego acá se enviarían los datos.
      '
    Next
  End With
End Function

En resumen es lo mismo pero un poco más estructurado. Y si usas la API es dos veces más rápido.

Saludos.
En línea



A la reina de las profundidades que cuida los pasos de una sombra en la noche :*
Slasher-K


Desconectado Desconectado

Mensajes: 1.477


Ver Perfil
Re: Transferencia de archivos, AYUDA
« Respuesta #3 en: 16 Julio 2005, 00:49 am »

Intenta hacer una pausa entre cada llamada a Send. Por ejemplo con el siguiente código (incorporalo al procedimiento).

Código:
      Dim snTime!

  snTime = Timer

  Do While (Time - snTime) < .25
   'Espera 0.25 segundos.
  Loop

  Call Winsock_server.SendData("archi" & vbParseData & Buffer)

Saludos.
En línea



A la reina de las profundidades que cuida los pasos de una sombra en la noche :*
Slasher-K


Desconectado Desconectado

Mensajes: 1.477


Ver Perfil
Re: Transferencia de archivos, AYUDA
« Respuesta #4 en: 16 Julio 2005, 04:54 am »

Ah me olvidé de ese detalle en el code que puse antes ;D. La forma de solucionar eso sería asi:

Código:
Tam = 1024
Trozos = FileLen(Arch) / Tam
Falta = FileLen(Arch) Mod Falta

If Falta > 0 Then Trozos = Trozos + 1

Saludos.
En línea



A la reina de las profundidades que cuida los pasos de una sombra en la noche :*
Slasher-K


Desconectado Desconectado

Mensajes: 1.477


Ver Perfil
Re: Transferencia de archivos, AYUDA
« Respuesta #5 en: 17 Julio 2005, 00:16 am »

La instrucción Mod devuelve el resto de una división, por eso la uso para obtener lo que falta del archivo.

Saludos.
En línea



A la reina de las profundidades que cuida los pasos de una sombra en la noche :*
sch3m4
Ex-Staff
*
Desconectado Desconectado

Mensajes: 1.608

Nihil est in intelectu quod prius not fuerit insen


Ver Perfil WWW
Re: Transferencia de archivos, AYUDA
« Respuesta #6 en: 17 Julio 2005, 09:33 am »

por si a alguno le sirve, un pequeño tuto  ;)

http://lympex.sosvulnerable.net/resources/textos/programacion/envio_archivos_vb.htm
En línea

SafetyBits

"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.(..
Thaorius


Desconectado Desconectado

Mensajes: 1.073


Ver Perfil WWW
Re: Transferencia de archivos, AYUDA
« Respuesta #7 en: 18 Julio 2005, 15:59 pm »

Acabo de mirar el enlace y no veo fallas evidentes. Comproba que el programa se conecta.

Saludos
En línea

Si te sirvio mi aporte, encontrarás más en www.teoxstudios.com. Gracias!
Buscando un buen hosting? Click aquí
sch3m4
Ex-Staff
*
Desconectado Desconectado

Mensajes: 1.608

Nihil est in intelectu quod prius not fuerit insen


Ver Perfil WWW
Re: Transferencia de archivos, AYUDA
« Respuesta #8 en: 19 Julio 2005, 14:49 pm »

el código funciona  :)
En línea

SafetyBits

"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.(..
-Xenon-


Desconectado Desconectado

Mensajes: 502


Spectrum 128k


Ver Perfil
Re: Transferencia de archivos, AYUDA
« Respuesta #9 en: 19 Julio 2005, 18:54 pm »


lo que necesitas lo esplico en la primera pagina de este hilo http://foro.elhacker.net/index.php/topic,57545.0.html

algo rustico, pero funciona 100%

no tiene perdida, en la primera pagina, el 4 post que puse, si no me equivoco!

espero te sirva, suerte
En línea

Cuando el ingenio se queda pequeño,
No basta con poner empeño,
Solo el talento consigue el diseño
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
KysendFile - Transferencia de archivos PC a PC
Software
taul 2 3,032 Último mensaje 15 Marzo 2011, 01:08 am
por taul
ayuda con transferencia de archivos en C
Programación C/C++
Belial & Grimoire 0 1,674 Último mensaje 2 Noviembre 2011, 02:18 am
por Belial & Grimoire
Transferencia de archivos scp
Scripting
dexposit 7 6,306 Último mensaje 28 Diciembre 2012, 16:47 pm
por helldarkspawn
[Ayuda] Bypass Transferencia de Creditos IMVU
Dudas Generales
Yoker66666 0 1,933 Último mensaje 14 Julio 2012, 14:31 pm
por Yoker66666
ayuda de Uso de formularios para transferencia en php
Dudas Generales
lnieto44 0 3,640 Último mensaje 8 Junio 2016, 20:38 pm
por lnieto44
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines