Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [VB6] WinSock: Trasferimento Very Slow

    Ciao a tutti,

    Problema: Trasferimento Lento

    Ho Realizzato un applicazione Client/Server per trasferire files in rete locale e/o rete geografica.
    Ho utilizzato il Winsock (MSWINSCK.OCX), tutto sembra funzionare:

    Lato Mittente
    codice:
        Dim Data as String
        Open File.Text For Binary Access Read As #1
            Data = Space(FileLen) 'FileLen lunghezza file da inviare
            Get #1, , Data
        Close #1
        TCP.SendData (Data)
    Nella Variabile Data effettivamente viene caricato il File per intero!!!
    Lato Destinatario
    codice:
        Dim Data as String
        TCP.GetData Data
        'Salvataggio file            
        Open File.Text For Binary Access Read Write As #1
            Put #1, lLen + 1, Data 'lLen lunghezza file attualmente scritto
        Close #1
    La variabile Data di Ricezione contiene il file a pacchetti di 8192 Byte e non lo riceve tutto insieme come è stato inviato!!! si può aumentare la dimensione della ricezione della variabile di trasferimento?
    Il problema è che il trasferimento file è lentissimo!
    ho una rete lan a 100Mbit/s e l'occupazione della banda è al di sotto del 2%!!!
    invece trasferendo il file con un normale copia&incolla da windows... naturalmente è quasi immediato!!!

    Grazie a tutti per l'attenzione.

  2. #2
    ciao non è che per caso hai qualche tipo di firewall o protezione che impediscono a tratti la connessione tra le porte?

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Quando ricevi i dati non devi fare la Open e la Close ad ogni pacchetto che ricevi!

    La Open va fatta all'inizio della ricezione (alla connessione) e la Close soltanto alla fine.

    Gli 8 K sono uno standard per Winsock, anche se modificabile fino a 64 K, altamente sconsigliato da modificare. In ogni caso non risolveresti il problema ...

    Un firewall non dovrebbe avere a che fare perche' o interviene su *tutta* la comunicazione o non interviene.

  4. #4
    Quindi la lentezza sta nel fatto che effettua inutilmente l'accesso al file, scrittura e poi la chiusura tante di quelle volte che.... rallenta tutto?
    Allora provo un unica apertura ed un unica chiusura...
    Grazie infinite! Vi faccio sapere!

  5. #5
    ho aperto il file una sola volta
    scritto tante volte
    chiuso 1 sola volta

    e il tutto rapidamente.
    funziona benissimo grazie!

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Volevo dire ...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.