Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - vb.net 2010 problema connessione ftp
Forum - C# / VB.NET - vb.net 2010 problema connessione ftp

Avatar
trattobasso (Normal User)
Pro


Messaggi: 89
Iscritto: 02/05/2007

Segnala al moderatore
Postato alle 15:15
Martedì, 20/09/2011
Ciao a tutti,
vi espongo un problema che non riesco ad interpretare (ignoranza sicuramente).
Dunque, il mio programma effettua una connesione ftp in una determinata cartella e in una listview visualizzo la lista dei file presenti in ftp.
Funziona tutto ma ci vogliono circa 25 sec solo per effettuare l'accesso e qualche istante per visualizzare la lista dei file, quindi la maggior parte del tempo viene impiegato per effettuare l'accesso.
Di seguito il codice che ho utilizzato.

Codice sorgente - presumibilmente VB.NET

  1. Dim req As FtpWebRequest = FtpWebRequest.Create("ftp://ftp.xxxx.it/test/")
  2.         req.Credentials = New NetworkCredential("username", "password")
  3.         req.Method = WebRequestMethods.Ftp.ListDirectory
  4.         Dim sr As New StreamReader(req.GetResponse().GetResponseStream())
  5.         Dim str As String = sr.ReadLine()
  6.         While Not str Is Nothing
  7.             ListView2.Items.Add(str)
  8.             str = sr.ReadLine()
  9.         End While
  10.         sr.Close()
  11.         sr = Nothing
  12.         req = Nothing



Ho scritto al mio provider per chiedere consiglio e mi hanno risposto così:
La informo che l'accesso effettuato dal Suo script comporta un passaggio dalla porta 80 andando a simulare il comportamento di un browser nella connessione ftp. Provando a seguire la procedura da browser, vengono richiesti due volte gli accessi, la seconda volta dopo l'apertura della porta 21.
Le ricordiamo che l'accesso FTP è garantito tramite client FTP su porta 21; La invito pertanto ad adattare il Suo script in modo che effettui eventualmente richiesta diretta alla porta 21 o, in alternativa, a provare l'utilizzo della stringa completa
ftp://userftp:passftp@ftp.dominio.ext
accedendo in un secondo tempo alla sottodirectory in ftp.

Avete qualche consiglio a riguardo?
Grazie a tutti e ciao.

PM Quote