IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Serveur ftp C# [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2012
    Messages : 11
    Par défaut Serveur ftp C#
    Bonjour à toutes et à tous.

    Dans le but d'un projet de fin d'année de Bts Iris , je me vois dans l'obligation de créer un serveur ftp et de l'intégrer au code de notre application.

    Etant assez novice en c#, j'ai un peu de mal à faire ce serveur ftp.
    Néanmoins, j'ai réussi à avancer dans mon code, mais malgré tout, une erreur me bloque.




    Et voici l'erreur du serveur locale que j'ai installé pour faire mes tests. :



    Alors que j'ai pourtant spécifié le login et le mdp.

    Voici la page principale du code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Net;
     
     
     
    namespace AlkernBloc
    {
     
     
     
     
     
        public partial class Form3 : Form
        {
     
     
            string Lieu, Adresse_ip;
     
            string Ip1, Ip2, Ip3, Ip4;
     
     
     
            public Form3()
            {
     
     
                Uri serverUri = new Uri("ftp://127.0.0.1/test.rar");
                FtpWebRequest myRequest =
                    (FtpWebRequest)FtpWebRequest.Create(serverUri);
     
                 myRequest.KeepAlive = false;           //maintenir connexion constante
                 myRequest.Method = WebRequestMethods.Ftp.DownloadFile;     //Definit si on dl ou ul.
                 myRequest.Timeout = 1000;                                  //Delai d'execution de la requête
                 myRequest.UseBinary = false;
     
                 FtpWebResponse response = (FtpWebResponse)myRequest.GetResponse();
     
                InitializeComponent();
            }
     
     
                private void checkedListBox1_SelectedIndexChanged(object sender, EventArgs e)
                {
     
                }
     
                private void Form3_Load(object sender, EventArgs e)
                {
                    groupBox1.Hide();
                    checkedListBox1.Hide();
     
                }
     
                private void button3_Click(object sender, EventArgs e)
                {
                    groupBox1.Show();
                }
     
                private void button4_Click(object sender, EventArgs e)
                {
                    String S;
     
                    Lieu = textBoxLieu.Text;
                    Ip1 = textBoxIp1.Text;
                    Ip2 = textBoxIp2.Text;
                    Ip3 = textBoxIp3.Text;
                    Ip4 = textBoxIp4.Text;
     
     
                    Adresse_ip = Ip1 + "." + Ip2 + "." + Ip3 + "." + Ip4;
     
                    S = Lieu + " " + Adresse_ip;
                    checkedListBox1.Show();
                    checkedListBox1.Items.Add(S);
     
                    ServeurFtp myFTP = new ServeurFtp
                    {
                        Server = "127.0.0.1/test.rar",
                        Username = "root",
                        Password = "cauchy"
                    };
     
                    myFTP.Download("127.0.0.1/test.rar", "test.rar");
     
                }
     
                private void button1_Click(object sender, EventArgs e)
                {
     
                }
     
                private void checkedListBox1_SelectedValueChanged(object sender, EventArgs e)
                {
     
                }
     
     
            }
        }
    et voici la page de la classe ServeurFtp:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Net;
    using System.IO;
     
    namespace AlkernBloc
    {
        class ServeurFtp
        {
     
                //Proppriétés
                public string Server { get; set; }
                public string Username { get; set; }
                public string Password { get; set; }
     
                //Méthode
     
               public void Download(string directory, string file)
    {
                Uri serverUri = new Uri("ftp://" + this.Server + "/" + directory + "/" +file);  //Url du ftp
     
                if (serverUri.Scheme != Uri.UriSchemeFtp)
     
                         {
                             return;
                                        }
     
        FtpWebRequest myRequest = (FtpWebRequest)FtpWebRequest.Create(serverUri);
     
        myRequest.Credentials = new NetworkCredential(this.Username, this.Password);    //Definition des login et password
     
        myRequest.KeepAlive = false;            //Option pour la connection constante
     
        myRequest.Method = WebRequestMethods.Ftp.DownloadFile;                //Definir si on download ou upload
     
        FtpWebResponse response = (FtpWebResponse)myRequest.GetResponse();
        Stream responseStream = response.GetResponseStream();
        FileStream fs = new FileStream("C:/" + file, FileMode.Create);
     
        byte[] buffer = new byte[2000];     //Taille du fichier 
        int read = 0;
     
        do
        {
            read = responseStream.Read(buffer, 0, buffer.Length);
            fs.Write(buffer, 0, read);
            fs.Flush();
        } while (!(read == 0));
     
        response.Close();
        responseStream.Close();
        fs.Close();
    }}
     
            }
    Vous remerciant d'avance pour votre aide , je vous souhaite une bonne journée.

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2012
    Messages : 11
    Par défaut
    Oups petite erreur de ma part, c'est bien un client ftp et non un serveur que je gère

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. lister le contenu d'un serveur ftp avec NMFTP
    Par jackson dans le forum C++Builder
    Réponses: 2
    Dernier message: 25/02/2005, 17h42
  2. Réponses: 3
    Dernier message: 28/10/2004, 08h39
  3. Serveur ftp
    Par PunkMetal dans le forum Développement
    Réponses: 8
    Dernier message: 23/08/2004, 00h58
  4. Serveur ftp sous redhat 9
    Par stephane eyskens dans le forum Réseau
    Réponses: 3
    Dernier message: 09/03/2004, 11h03
  5. Réseau en détresse avec un serveur ftp
    Par cifren dans le forum Développement
    Réponses: 8
    Dernier message: 15/12/2003, 00h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo