begin process at 2010 02 10 00:35:22
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Réseau & Internet

 > 

Client - Serveur

 > 

Problème de connexion FTP


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème de connexion FTP

lundi 24 novembre 2008 à 16:27:56 | Problème de connexion FTP

Jean_Marc_1968

Salut à toutes et à tous,

Je veux développer une application windows qui download un txt d'un serveur FTP.
Ensuite je modifie en local le txt, puis je le supprime sur le serveur et j'upload la nouvelle version.

Chaque fois que j'essaye de me connecter, il me dit que la connexion ftp est ouverte mais une fois au
readCount = ftpStream.Read(buffer, 0, bufferSize);
il ne passe pas et l'erreur interceptée est :
+  [System.IO.IOException] {"Impossible de lire les données de la connexion de transport : Une connexion existante a dû être fermée par l'hôte distant."} System.IO.IOException

Le FtpStream me retourne :
  CanRead true bool
  CanSeek false bool
  CanTimeout true bool
  CanWrite false bool
  Length 'ftpStream.Length' a levé une exception de type 'System.NotSupportedException' long {System.NotSupportedException}
                    base {"Ce flux ne prend pas en charge les opérations de recherche."} 
                              System.SystemException {System.NotSupportedException}
 Position 'ftpStream.Position' a levé une exception de type 'System.NotSupportedException' long {System.NotSupportedException}
                    base {"Ce flux ne prend pas en charge les opérations de recherche."} 
                              System.SystemException {System.NotSupportedException}
  ReadTimeout 0x000493e0 int
  WriteTimeout 0x000493e0 int


Ca fait un bon moment que je planche (plus d'une semaine), mais je ne trouve pas la solution.
Quelqu'un aurait-il une idée ?

Voici mon code :
[code]
privatevoid Download(string filePath, string fileName)
{
      FtpWebRequest reqFTP;
      try
            {
                  FileStream outputStream = newFileStream(filePath + "\\" + fileName, FileMode.Create);
                  reqFTP = (
FtpWebRequest)FtpWebRequest.Create(newUri("ftp://" + ftpServerIP + "/" + fileName));
                  reqFTP.Method =
WebRequestMethods.Ftp.DownloadFile;
                  reqFTP.UseBinary =
true;
                  reqFTP.KeepAlive =
true;
                  reqFTP.Credentials =
newNetworkCredential(ftpUserID, ftpPassword);
                  FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse();
                  Stream ftpStream = response.GetResponseStream();
                  long cl = response.ContentLength;
                  int bufferSize = 2048;
                  int readCount;
                  byte[] buffer = newbyte[bufferSize];
                  readCount = ftpStream.Read(buffer, 0, bufferSize);
                  while (readCount > 0)
                  {
                        outputStream.Write(buffer, 0, readCount);
                        readCount = ftpStream.Read(buffer, 0, bufferSize);
                  }
                  ftpStream.Close();
                  outputStream.Close();
                  response.Close();
            }
            catch (Exception ex)
            {
                  MessageBox.Show(ex.Message);
            }
}
[/code]

Merci de vos z'avis z'avisés,
Jean-Marc

PS : J'ai essayé à partir de plusieurs sites FTP et j'ai toujours le même résultat.

jeudi 27 novembre 2008 à 15:25:09 | Re : Problème de connexion FTP

crougni77

Salut Jean-Marc

as tu essayé de passer par un StreamReader  ?

par exemple en changeant juste ceci :

...
Stream ftpBaseStream = response.GetResponseStream(); // <= code modifié
StreamReader ftpStream = newStreamReader (ftpBaseStream); // <= code ajouté...
...


CrougniMan
lundi 22 décembre 2008 à 02:20:32 | Re : Problème de connexion FTP

Jean_Marc_1968

Salut Crougni et merci de ta réponse.

J'ai bien essayé ta solution mais je n'arrive pas à mettre le streamreader en oeuvre.
Aurais-tu un bout de code à me proposer ?

Merci,
JM

Ca fait longtemps que je planche, ça à l'air de fonctionner pour tout le monde sauf pour  moi. Qu'est-ce que je fais mal ou qu'est-ce qui pourrait bien se passer du côté du serveur si ce n'est pas moi ? On dirait que la connexion se ferme directement après son ouverture, même avec le keepalive à true. Je ne comprend vraiment pas et je dois vraiment trouver.


Cette discussion est classée dans : ftp, system, reqftp, ftpstream, readcount


Répondre à ce message

Sujets en rapport avec ce message

PB transfert FTP [ par kikibodel ] Bonjour,Je voudrais envoyer un fichier xml sur un serveur web, mais le prog que j'utilise me mets une erreur et je ne vois pas comment la résoudre : FTP - Upload d'un fichier. [ par fdouieb ] Bonjour, j'utilise le Framework 2 pour faire du FTP. Voici le code        public bool FTPUpload(ProgressBar pBar, string sFTPServerIP, string sUserNam impossible d'acceder à la méthode dispose de System.Net.Sockets [ par katwes ] Bonjour,J'utilise  la classe System.Net.Sockets pour me connecter en telnet.Mais j'aimerai utiliser la méthode dispose pour libérer toutes les ressour RaftingContainer [ par AymenEurotech ] Bonjours, J'ai téléchargé un code de compression à partir du site 'codes-sources', Il utilise la classe « <span style="font-size: 10pt; font-famil passer un type Stream comme paramère dans un Service Web [ par Verrisan ] Bonjour tout le monde,j'ai un Service Web A dans lequel j'ai une méthode "put" qui a les paramètres suivants:put(Stream param1, string param2, string C# : techniques de programmation. [ par Evil_Gouki_X ] Bonjour a tous.voila j'ai debute C# il y a quleques heures et j'ai une question sur les techniques de programmation. j'ai fait une recherche mais je n Evénement closing à modifier [ par hugobosscool26 ] Bonjour à tous, j'ai un petit problème de C# avec la fermeture d'une form. J'ai fais cela : Code :<! 403 lors de l'appel d'un webservices avec certificat [ par keikun59 ] Bonjour, Je fais un appel à un WebServices, lors de cette appel je dois utiliser un certificat pour m'authentifier. Quand je fais le test avec FTP - Progression du transfert [ par asskicker123 ] Bonjour,je souhaiterai savoir si il y a possibilité (et le cas échéant comment faire) pour indiquer (par exemple via une barre de progression) la prog import de donnée de table en c# [ par tazagaga ] Bonjour, j'aimerai recupéré les donné d'une ligne d'une table en c# j'illustre ma demande: majpz2 //la table IDlibelle IDgeo periode valeur sign


Nos sponsors


Sondage...

Comparez les prix


HTC Hero

Entre 550€ et 550€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales