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 :

IcmpSendEcho et FTPutFile


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 54
    Par défaut IcmpSendEcho et FTPutFile
    BOnjour,

    Je cherche à uploader un fichier tout en vérifiant la disponibilité de mon serveur. Pour cela j'utilise deux threads, un premier envoyant de façon reguliere un IcmpSendEcho avec un timeout de 3secondes et un thread contenant l'envoi du fichier avec FTPPutFile. J'ai l'impression que mon IcmpSendEcho ne reçoit pas de réponse ou n'envoi pas sa requête tant que le FTPPutFile n'est pas terminé. Comment puis je faire pour m'assurer que les deux fonctionnent bien en parallèle?

    Merci d'avance de vos réponses.

    THibaud.

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Salut,
    Tu peux avoir un filtrage ICMP ou côté serveur ou côté client. As-tu déjà fait un test uniquement avec le send echo pour voir déjà si ça passe ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 54
    Par défaut
    Le send echo fonctionne bien quant il est tout seul ou que la durée du transfert est inférieure au timeout.
    J'ai tenté de faire la même chose mais en faisant le send echo sur une machine différente de celle sur laquelle j'ai le FTP et j'ai eu le même résultat.
    J'imagine que c'est du côté de mon client que je ne récupère pas l'information, mais je ne m'y connais pas assez.

    J'ai oublié de préciser que je suis sur "Windows CE 5" et que j'ai ce problème sur une connexion RTC et sur une connexion GPRS même si je ne pense pas que cela joue beaucoup.

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Salut,
    Tu peux sniffer le réseau pour voir si le reply arrive bien mais que ton client ne le traite pas ?
    [EDIT] Après, je ne connais pas Windows CE, c'est peut être lié à l'OS ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 54
    Par défaut
    comment je peux sniffer le réseau?

    A priori c'est le fait que je sois en train d'uploader qui fait que je ne vois pas la réponse. Ce qui voudrait dire que je ne peux pas faire deux chose en parallèle lorsque je manipule une connexion FTP....

  6. #6
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Citation Envoyé par thibaud Voir le message
    J'ai oublié de préciser que je suis sur "Windows CE 5" et que j'ai ce problème sur une connexion RTC et sur une connexion GPRS même si je ne pense pas que cela joue beaucoup.
    Tu n'as pas pensé que ta bande passante montante pouvait, tout simplement, être totalement saturée par le transfert FTP ?

    Essaie de faire la même chose avec un FTPGetFile à la place, ou encore un simple FtpFindFirstFile / InternetFindNextFile (listing) en boucle... Si ton "ping" passe, cela renforce la possibilité d'une surcharge de la bande passante.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 54
    Par défaut
    La bande passante... je n'y avait pas penser! je vais faire le test sur un ftpgetFile.
    SI c'est le cas, il y a moyen de limiter la bande passante utilisé par le FTP afin d'etre sur de pouvoir lire le retour de l'echo??

  8. #8
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Citation Envoyé par thibaud Voir le message
    La bande passante... je n'y avait pas penser! je vais faire le test sur un ftpgetFile.
    T'inquiètes pas, j'y ai pensé parce que j'ai déjà rencontré le problème une fois et que je m'étais arraché les cheveux pour comprendre... Sur un PC normal avec une connexion Ethernet, c'est quelque chose qui arrive rarement, du moins au point de bloquer toutes les autres communications. C'est plus fréquent en embarqué.

    Citation Envoyé par thibaud Voir le message
    SI c'est le cas, il y a moyen de limiter la bande passante utilisé par le FTP afin d'etre sur de pouvoir lire le retour de l'echo??
    Pas certain, du moins, pas avec cette fonction, je pense... Peut-être en réglant les QoS de ton WinCE, si tu as la fonctionnalité, et encore...

    Tu peux habituellement simuler ça avec une "vraie" socket, en ralentissant la vitesse à laquelle tu récupères / injecte les données de ladite socket : au bout d'un temps assez court, tu vas saturer le buffer associé à cette socket, et donc ralentir soit les émissions, soit empêcher les ACK TCP de partir (ce qui va faire arrêter / ralentir le serveur). Mais avec FTPPutFile, la seule action possible serait au niveau d'une callback InternetStatusCallback, et ça ne semble pas avoir une granularité assez fine pour "bloquer" le thread lorsque les données sont émises trop vite.

    La seule autre piste que je vois, c'est de tenter de truander le lpszLocalFile en lui passant, par exemple, un pipe que tu alimenterais via un thread, qui lui limiterait la vitesse des données émises... Mais c'est pas gagné d'avance, je ne suis même pas certain que la fonction saura ouvrir correctement ce "fichier".

    Dernière solution, implémenter le bout de protocole FTP requis toi-même (ou utiliser une librairie dont tu as les sources) de façon à pouvoir limiter l'upload. Dans un premier temps, essaie déjà avec le FTPGetFile (si ta connexion est full-duplex) et le listing "en boucle" (qui va laisser des "trous" dans la BP) de façon à isoler le problème à coup sûr.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  9. #9
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Citation Envoyé par Mac LAK Voir le message
    Tu n'as pas pensé que ta bande passante montante pouvait, tout simplement, être totalement saturée par le transfert FTP ?
    L'ADSL nous fait perdre les bons réflexes Vu comme ça, ça devient plus évident

Discussions similaires

  1. traceroute fonction icmpsendecho
    Par toma03 dans le forum C++
    Réponses: 1
    Dernier message: 18/10/2007, 10h25
  2. [Linker error] undefined reference to 'IcmpSendEcho@'
    Par Xevious dans le forum Autres éditeurs
    Réponses: 7
    Dernier message: 29/12/2005, 16h45

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