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

Web & réseau Delphi Discussion :

TWSocket : problème transmission à 2 destinataires


Sujet :

Web & réseau Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 38
    Par défaut TWSocket : problème transmission à 2 destinataires
    Bonjour à tous,
    j'ai un problème que je n'arrive pas à régler avec le composant TWSocket de la librairie ICS.
    Lorsque je transmet à 2 destinataires à la suite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Transmit(FileToSend,'ORDI-1') ;
    Transmit(FileToSend,'ORDI-2') ;
    LE PROBLEME EST QUE il ne le transfère qu'à la 2ème adresse ...
    On voit bien sur le memo qu'il n'a pas eu le temps d'envoyer le fichier à la 1ère adresse
    memo :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dns lookup 'ORDI-1'
    Dns lookup 'ORDI-2'
    Connecting to 192.168.0.99:503
    Session connected 0 'No Error'
    au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dns lookup 'ORDI-1'
    Connecting to 192.168.0.98:503
    Session connected 0 'No Error'
    Dns lookup 'ORDI-2'
    Connecting to 192.168.0.99:503
    Session connected 0 'No Error'
    Merci de votre aide

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 101
    Par défaut
    C'est vilain, as-tu essayé un Sleep entre les deux (si la mise en réseau est asynchrone) ou au Application.ProcessMessages (très très vilain) ... je ne connais pas ICS, j'ai fait cela avec les composants D5 ou D7, ainsi que Indy en mode connecté via TCP\IP, semble que tu sois plutôt en UDP ...

    Ce Mémo de Débug est rempli par quel moyen ?
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 38
    Par défaut
    J'ai essayé un sleep mais ça ne fonctionne pas.
    Par contre j'ai éssayé de le mettre dans un timer et ça fonctionne très bien
    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
    procedure TMainForm.TimerDataTransTimer(Sender: TObject);
    begin
      if (boucle>NbPosteMethodeConnecte) Then
      begin
        TimerDataTrans.Enabled := False;
        exit;
      end;
      Transmit(PosteMethodeConnecte[boucle]);
      boucle := boucle+1;
      if (boucle>NbPosteMethodeConnecte) Then 
      begin
        boucle := 1;
        TimerDataTrans.Enabled := False;
      end;
    end;
    Merci toutefois de m'avoir répondu

  4. #4
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 101
    Par défaut
    Un Application.ProcessMessages aurait surement fait l'affaire, ... le Timer évidemment diffère énormément le traitement, c'est quand pas terrible ... tu n'as pas une fonction Flush, Commit ... qui éviterait ce genre de magouille
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/04/2007, 19h43
  2. Réponses: 5
    Dernier message: 28/07/2006, 15h19
  3. [PHP-JS] problème transmission valeur select
    Par calitom dans le forum Langage
    Réponses: 4
    Dernier message: 24/07/2006, 16h05
  4. [C#] Problème transmission via socket
    Par LE NEINDRE dans le forum Windows Forms
    Réponses: 2
    Dernier message: 11/07/2006, 08h29
  5. Problème transmission par adresse
    Par pierrOPSG dans le forum C
    Réponses: 5
    Dernier message: 05/04/2006, 14h29

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