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

VB.NET Discussion :

[VB 1.1/FTP] Comment déclencher une exception en cas de déconnexion brutale ?


Sujet :

VB.NET

  1. #1
    Membre actif Avatar de toniolol
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2005
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 281
    Points : 296
    Points
    296
    Par défaut [VB 1.1/FTP] Comment déclencher une exception en cas de déconnexion brutale ?
    Bonjour,
    j'utilise cette API pour effectuer des opérations sur des serveurs FTP.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Private Declare Function FtpPutFile Lib "wininet.dll" Alias "FtpPutFileA" _
     (ByVal hConnect As Integer, ByVal lpszLocalFile As String, _
      ByVal lpszNewRemoteFile As String, ByVal dwFlags As Integer, _
      ByVal dwContext As Integer) As Boolean
    J'ai un souci lorsque la connexion est brutalement coupée, cette fonction ne déclenche aucune exception et semble perdue dans les limbes de la machine...
    J'utilise cette fonction pour le transfert :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Public Function Upload(ByVal fFileLocal As FileInfo) As Boolean
        Dim bReturn As Boolean = False
        Try
            bReturn = FtpPutFile(HwndConnect, fFileLocal.FullName,
     fFileLocal.Name, &H0, 0)
        Catch ex As Exception
            Throw New Exception(ex.ToString)
        End Try
        Return bReturn
    End Function
    Est-ce que quelqu'un voit un moyen de déclencher une exception ou un arrêt de cette fonction en cas de déconnexion brutale ?
    Merci d'avance.
    Pensez aux règles et au qui rime avec !

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Est-ce que ceci répond en partie à ton questionnement ?
    http://support.microsoft.com/kb/321156
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  3. #3
    Membre actif Avatar de toniolol
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2005
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 281
    Points : 296
    Points
    296
    Par défaut
    Merci Neguib, mais malheureusement ceci ne répond pas à mes attentes...
    En fait le gros souci est lors d'une déconnexion du serveur mon FtpPutFile est complètement bloqué et ne renvoie rien (et encore ça dépend du serveur et de son hebergeur).
    Par contre si c'est le poste client qui se déconnecte il n'y a pas de souci, un false est renvoyé de suite.
    Pour le moment j'ai donc lancé le PutFile dans un thread et au bout de X secondes si le thread est encore Alive je lance un Abord suivi de la destruction de mon objet FTP...pas très classe mais fonctionnel !
    Pensez aux règles et au qui rime avec !

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 151
    Points : 144
    Points
    144
    Par défaut
    Bonjour tout le monde,

    J'ai exactement le même problème que toi je fais donc un petit up du topic.

    Dans le contexte de mon projet la solution que tu proposes ne me convient pas vraiment ne serait-ce que parce que je ne connais pas à l'avance la vitesse de transfert ( les réseaux dans lesquels l'appli va etre distribuée sont beaucoup trop différents), je pourrai mettre une valeur à configurer par l'utilisateur (vitesse du réseau et en déduire le temps de transfert) mais le problème c'est que l'utilisateur final lui-même ne sait pas (en théorie) la vitesse de trasnfert (en tout cas il ne doit pas la savoir).

    Donc faire une estimation (même pessimiste) de la vitesse de transfert ne me garantit pas que des fichiers qui aurait pu être transférés même avec beaucoup de retard ne le soient pas tout simplement parce que le timeout est arrivé. Et dans le cas où l'estimation serait trop pessimiste, la solution ne me convient toujours pas car j'ai des besoins précis sur une détection de déconnexion.

    Et enfin ( et surtout ) la solution ne convient pas aux personnes à qui je l'ai proposé donc si je peux trouver autre chose c'est mieux.

    Petite précision j'ai le même problème mais en c++ ( mais bon c'est l'api win32 donc je suppose que le problème et la solution sont les mêmes)

    Merci d'avance à tous ceux qui proposeront des idées.

    PS : toniolol pourrait tu dé-tagguer le "résolu" du coup s'il te plait, histoire que des ames charitables se penchent sur la question.

Discussions similaires

  1. [MySQL] 2 listes déroulantes liées contenu mysql et comment ne pas afficher une exception
    Par roy-mustang dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/04/2009, 13h45
  2. Réponses: 2
    Dernier message: 24/06/2008, 00h18
  3. [FTP] Comment tester un fichier distant ?
    Par Shrieker dans le forum Langage
    Réponses: 4
    Dernier message: 28/11/2005, 14h44
  4. [FTP] comment corriger une boucle infinie ?
    Par sofybj dans le forum Langage
    Réponses: 8
    Dernier message: 08/11/2005, 14h49
  5. [FTP] Comment uploader un fichier d'un répertoire à l'autre ?
    Par Devil666 dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 08/07/2005, 09h17

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