Oppure

Loading
11/05/09 18:39
Salve a tutti!
Come da titolo, devo eseguire il ping di un server FTP per vedere se esso è attivo. Il problema è che l'IP del server è attivo ma non il server FTP quindi se pingo l'IP del server lo trova on-line!!

Spero di essermi spiegato,
Grazie anticipatamente.
11/05/09 18:54
theprogrammer
Quindi ti sei risposto da solo ... il ping non serve a nulla.

Potresti collegarti alla porta del server FTP e vedere se risponde ma perche' farlo "prima" ? Lo fai quando tenti di collegarti ... se non ci riesci, il server non e' attivo ...

Insomma, il problema non sussiste ...
aaa
11/05/09 19:17
Postato originariamente da theprogrammer:

Quindi ti sei risposto da solo ... il ping non serve a nulla.

Potresti collegarti alla porta del server FTP e vedere se risponde ma perche' farlo "prima" ? Lo fai quando tenti di collegarti ... se non ci riesci, il server non e' attivo ...

Insomma, il problema non sussiste ...


Il problema è che tento di fargli scaricare il file a server spento lui non genera un'eccezzione e quindi fa "finta" di scaricare il file e dice di averlo fatto.
11/05/09 19:20
theprogrammer
No ... non e' possibile ...
aaa
11/05/09 19:26
Postato originariamente da theprogrammer:

No ... non e' possibile ...


A quanto pare sì. Uso questo codice:

pierotofy.it/pages/guide/Guida_al_Visual_Basic_dotNET/Tip_I___Scaricare_file_da_Internet/

Quando scrivo:
TCP.DownloadFileAsync(New Uri("ftp://fintoftp.it/file.txt"), "Percorso destinazione")

lui mi scarica il file anche se il server ftp in questione non esiste o non contiene il file.
11/05/09 19:33
theprogrammer
Se non controlli gli errori, ovvio ...

    Public WithEvents TCP As New System.Net.WebClient

    Sub Main()
        TCP.DownloadFileAsync(New Uri("ftp://fintoftp.it/file.txt"), "c:\prova.txt")
    End Sub

    Private Sub TCP_DownloadFileCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs) Handles TCP.DownloadFileCompleted
        Console.WriteLine(e.Error.Message)
    End Sub
aaa
12/05/09 11:21
Postato originariamente da theprogrammer:

Se non controlli gli errori, ovvio ...

    Public WithEvents TCP As New System.Net.WebClient

    Sub Main()
        TCP.DownloadFileAsync(New Uri("ftp://fintoftp.it/file.txt"), "c:\prova.txt")
    End Sub

    Private Sub TCP_DownloadFileCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs) Handles TCP.DownloadFileCompleted
        Console.WriteLine(e.Error.Message)
    End Sub


Si ma devo fargli chiudere il software se nn riesce a scaricare il file! Quindi devo trovare il modo di sapere se si è verificato un errore o no ed e.Cancelled nn funziona.
12/05/09 11:50
Perlomeno dovrei trovare un codice che mi dica se esiste quel file all'interno del server ftp.

P.S. Questo codice nn funziona:

If My.Computer.FileSystem.FileExists("http://ciao.ftp.org/ciao.exe") = False Then
MessageBox.Show("Errore")
End If