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 :

Gestion thread lors d'une connexion FTP


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 39
    Points : 31
    Points
    31
    Par défaut Gestion thread lors d'une connexion FTP
    Bonjour,

    j'ai une application C# qui permet de se connecter à un serveur (connexion FTP) pour télécharger des fichiers.
    Dans mon programme j'ai isolé les fonctions CONNEXION TELECHARGEMENT et DECONNEXION.
    Pour une gestion plus sûre, chaque fonction est lancée dans un thread. Par exemple lors de la connexion, le thread Thread_Connexion() s'éxecute. Si la connexion est réussie ou si une erreur de connexion apparait alors mon thread se termine normalement.

    Mon souci est qu'à un moment, dans le thread connexion, je perds la main. Dans mon Thread_Connexion il y a un laps de temps où le programme attend de voir si le système arrive à se connecter (reste dans la fonction "socket.connect()"). Si pendant ce laps de temps l'utilisateur veux fermer l'appli je ne peux pas terminer ou tuer mon thread tant que le système n'a pas répondu à la demande de connexion.

    Si maintenant un bug apparaît et que ma fonction connexion reste bloquée (système non connecté et aucune erreur de connexion remontée) alors je ne peux plus fermer mon thread.

    Quelqu'un aurait-il une solution ou une piste à me proposer ?

    Merci.

  2. #2
    Membre éclairé Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 612
    Points : 685
    Points
    685
    Par défaut
    Régler un timeout pour le socket ???

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 39
    Points : 31
    Points
    31
    Par défaut
    Oui le TimeOut pour le socket est défini, mais il est arrivé qu'il fasse défaut et que, même une fois dépassé, la fonction socket.connect() restait dans le même état.

    C'est pourquoi j'ai décidé de gérer un TimeOut à plus haut niveau mais le problème c'est que je n'arrive pas à tuer la tentative de connexion. Je pensais qu'en l'intégrant dans un thread et en terminant le thread ça fonctionnerait mais le thread refuse de se terminer.

    Sinon quelqu'un connaît l'équivalent de la commande "gestionnaire des tâche=> suppression d'un processus" en C# ?
    Ce serait une alternative à mon problème et cela éviterai à l'utilisateur de le faire manuellement "ctrl+alt+suppr"...

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 27
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par lucas67 Voir le message
    Sinon quelqu'un connaît l'équivalent de la commande "gestionnaire des tâche=> suppression d'un processus" en C# ?
    Ce serait une alternative à mon problème et cela éviterai à l'utilisateur de le faire manuellement "ctrl+alt+suppr"...
    Bonjour,

    Voici la réponse à ta question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    foreach (System.Diagnostics.Process processus in System.Diagnostics.Process.GetProcesses())
    {
    	if (processus.ProcessName.equals(LE_NOM_DE_TON_PROCESSUS))
            {
    		processus.Kill();
    	}
    }
    Bonne journée.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 39
    Points : 31
    Points
    31
    Par défaut
    Merci neoprime1988 pour ta réponse ça fonctionne bien.

    Si mon application plante (fonction CONECTION, DECONNECTION ou TELECHARGEMENT qui ne répond plus) alors j'informe l'utilisateur du problème et je termine le processus.

    Merci encore pour votre aide.

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

Discussions similaires

  1. [WD14] Problème lors d'une connexion FTP
    Par LuckyLuke56 dans le forum WinDev
    Réponses: 5
    Dernier message: 04/08/2010, 14h27
  2. Annuler une connexion FTP
    Par adilou1981 dans le forum Internet
    Réponses: 1
    Dernier message: 19/10/2006, 16h00
  3. Blocage de PC lors d'une connexion poste à poste
    Par tintin22 dans le forum Administration
    Réponses: 7
    Dernier message: 05/07/2006, 22h51
  4. Réponses: 28
    Dernier message: 28/07/2005, 14h12
  5. [JSP] erreur lors d'une connexion à mySQL
    Par Jovial dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 31/08/2004, 16h48

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