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

Python Discussion :

aide thread tcp/ip incrémente valeur dans une boucle


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    etudiant
    Inscrit en
    Février 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : etudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2019
    Messages : 11
    Par défaut aide thread tcp/ip incrémente valeur dans une boucle
    Bonjour,

    quelqu'un saurait comment on fait un thread pour une connexion tcp/ip qui tourne en boucle et qui incrémente une variable dans une boucle de mon programme principale a chaque fois que le client envoie un message ?

    Thread communication TCP/IP :
    communique avec client/ attend que le client envoie message en arriere plan

    boucle infinie:
    qui tourne tant que ne recoit pas le message du client. Si reception du message alors variable++

    Un petit exemple serait le bienvenue

    Aussi est-il possible d'envoyer des image grâce au TCP/IP ?

    Merci

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 696
    Par défaut
    Salut,

    Citation Envoyé par PERSONNE_LAMBDA Voir le message
    Un petit exemple serait le bienvenue
    Postez déjà ce que vous avez fait (sinon commencez par ouvrir un tuto.)
    Le plus simple est déjà de faire fonctionner une fonction sans thread, puis lorsque votre fonction "marche", vous la démarrez en thread via target=...

    Aussi est-il possible d'envoyer des image grâce au TCP/IP ?
    Une image étant un fichier et un fichier étant une suite d'octets, on peut le faire.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre régulier
    Homme Profil pro
    etudiant
    Inscrit en
    Février 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : etudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2019
    Messages : 11
    Par défaut
    Mon code marche pas. C'est un peu de la m*rde, je le modifie depuis 3 jours pour voir si j'arrive à faire marcher quelque chose mais non ... du coup il ressemble a rien.

    Ce thread est censé tourner en boucle et renvoyer x qui représente en fait l'appui sur "suivant" par le client. (C'est un operateur qui appuie sur suivant sur un autre ordi et envoi l'ordre au programme principale sur Raspberry d’incrémenter la variable qui fait tourner une boucle)
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    # coding: utf-8
     
    import socket
    from threading import Thread
     
     
    class Communication(Thread):
     
        def __init__(self, hote, port, clientsocket):
     
            Thread.__init__(self)
            self.hote = ""
            self.port = 12805
            self.clientsocket= clientsocket
            self.x = None 
     
        def run(self):
            while 1:
                self.clientsocket.listen(5)
                sock = ""
                sock = self.clientsocket.recv(1024)
                self.x = sock.decode()
     
     
     
        def result(self):
            return self.x
    La c'est la boucle qui doit étre incrémenter à chaque fois que le client envoie "suivant"
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
     
     
    ....
     
    hote = ""
    port = 12805
    connexion_principale = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    connexion_principale.bind((hote, port))
     
    thread_comm = Communication(hote, port, connexion_principale)
     
    time.sleep(10)
     
    thread_comm.start()
     
    while 1 :
            continuer = True
     
            if num > 0:
     
                i = (ordre[num] - ordre[num-1])
                detect(i, d_min) #fonction que j'ai créé et qui marche, pas important ici
     
     
            while continuer :
                print(num)
                print("take picture") #que je remplacerais par l'ouverture d'un programme en c++
                time.sleep(10)
                x = thread_comm.result()
                if x == "suivant" :
                    num = num +1
                    x=""
                    continuer = False
     
            if num == len(ordre)-1:
                break
                connexion_avec_client.close()
                connexion_principale.close()

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 696
    Par défaut
    Salut,

    Citation Envoyé par PERSONNE_LAMBDA Voir le message
    Mon code marche pas. C'est un peu de la m*rde, je le modifie depuis 3 jours pour voir si j'arrive à faire marcher quelque chose mais non ... du coup il ressemble a rien.
    Vous devez essayer de comprendre comment fonctionnent TCP/IP et les threads avant de coder. Ce qui passe par potasser un tuto., la documentation et arriver à comprendre des exemples qui fonctionnent.
    A défaut, vous pouvez toujours vous exciter sur votre clavier, il est peu probable que vous arriviez à faire fonctionner quoi que ce soit.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre régulier
    Homme Profil pro
    etudiant
    Inscrit en
    Février 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : etudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2019
    Messages : 11
    Par défaut
    J'ai regarder et compris des exemples simples et essayer de modifier mon code en fonction mais je n'arrive pas à trouver un exemple qui ressemble à ce que je fais. Du coup je suis un peu perdu, c'est d'ailleurs pour cela que je suis la.

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 696
    Par défaut
    Salut,

    Citation Envoyé par PERSONNE_LAMBDA Voir le message
    J'ai regarder et compris des exemples simples
    Si vous n'avez pas compris la séquence bind, listen, accept,... (ce que montre votre code). c'est que vous n'avez pas ouvert un tuto. ou alors que vous l'avez survolé histoire d'y piocher un truc tout fait plutôt que de prendre le temps d'apprendre.

    Citation Envoyé par PERSONNE_LAMBDA Voir le message
    Du coup je suis un peu perdu, c'est d'ailleurs pour cela que je suis la.
    Ceci est la conséquence de cela.
    Après, c'est bien gentil mais je ne vais pas vous raconter ce que vous pourriez trouvrer par vous même dans un tuto. ni écrire le code à votre place.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Incrémentation d'une valeur dans une boucle
    Par BenMarcel dans le forum PL/SQL
    Réponses: 6
    Dernier message: 14/02/2012, 12h30
  2. Concaténer les valeurs dans une boucle
    Par philippef dans le forum Langage
    Réponses: 4
    Dernier message: 28/08/2007, 20h08
  3. alterner 2 valeurs dans une boucle while
    Par harlock59 dans le forum Langage
    Réponses: 6
    Dernier message: 10/04/2007, 11h58
  4. Réponses: 2
    Dernier message: 14/07/2006, 18h37
  5. [xsl-fo] Recuperation de valeurs dans une boucle
    Par serwol dans le forum XSL/XSLT/XPATH
    Réponses: 10
    Dernier message: 12/12/2005, 12h13

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