Communication socket et traitement multi-thread par Python

Le traitement multi-thread est effectué et le sous-thread devient un serveur et accepte les entrées du thread principal. Après l'avoir exécuté sur le terminal, tapez une chaîne de caractères appropriée et appuyez sur la touche Entrée, et la chaîne de caractères sera envoyée du thread principal au sous-thread par communication de socket. Lorsque le sous-thread reçoit la chaîne, elle est imprimée sur le terminal par l'instruction d'impression.

environnement ・ Python2.7

thread_socket.py


import threading
import socket
import time
import datetime


# for receiving
class TestThread(threading.Thread):
    def __init__(self):
        super(TestThread, self).__init__()
        
        self.host = ""
        self.port = 12345
        self.backlog = 10
        self.bufsize = 1024
        
        self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.sock.bind((self.host, self.port))

    def run(self):
        print " === sub thread === "
        self.sock.listen(self.backlog)
        conn, address = self.sock.accept()
        while True:
            mes = conn.recv(self.bufsize)
            if mes == 'q':
                print "sub thread is being terminaited"
                break
            print mes
        
        self.sock.close()


if __name__ == '__main__':
    th = TestThread()
    th.setDaemon(True)
    th.start()

    time.sleep(1)
    # time.sleep(100)  #C'est trop long (commande d'attendre 100 secondes)

    print " === main thread === "
    
    ip = "localhost"
    port = 12345
    bufsize = 1024
    
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.connect((ip, port))
    while True:
        inp = raw_input("YOU>")
        sock.send(inp)
        time.sleep(1)
        if inp == 'q':
            th.join()
            print "main thread is being terminated"
            break
        
    sock.close()
    

Recommended Posts

Communication socket et traitement multi-thread par Python
Traitement de la communication par Python
Communication socket par langage C et Python
Module de socket Python 3 et flux de communication de socket
Communication de socket avec Python
Envoyer des données de Python au traitement via une communication socket
Traitement d'image par python (Pillow)
Communication de socket avec Python LEGO Mindstorms
Traitement parallèle Python (multitraitement et Joblib)
mappe de traitement de chaîne python et lambda
100 Language Processing Knock Chapitre 1 par Python
Traitement d'image par le remplacement du canal Python 100 Knock # 1
Communication de socket en utilisant le serveur de socket avec python maintenant
Échelle de gris par matrice-Reinventor of Python image processing-
Traitement d'image par Python 100 Knock # 6 Traitement de réduction de couleur
J'ai essayé de communiquer avec un serveur distant par communication Socket avec Python.
traitement d'image python
Traitement de fichiers Python
Notifier l'erreur et la fin de l'exécution par LINE [Python]
Traitement Y / n avec bash, Python et Go
Traitement d'image par filtre de lissage Python 100 knock # 11 (filtre moyen)
Exemple de communication Python Socket / outil de lancement de données simple
Divisez les images Python et disposez-les côte à côte
Python> Trier par nombre et trier par alphabet> Utiliser trié ()
[Traitement du langage 100 coups 2020] Résumé des exemples de réponses par Python
Traitement pleine largeur et demi-largeur des données CSV en Python
Remarques sur le traitement d'images HDR et RAW avec Python
[Python] Mesure et affiche le temps nécessaire au traitement
Contrôler d'autres programmes depuis Python (communication entre Python ⇔ exe)
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer chapitres 1 et 2
Le VIF calculé par Python et le VIF calculé par Excel sont différents .. ??
Traitement asynchrone de Python ~ Comprenez parfaitement async et attendez ~
Communication inter-processus entre Ruby et Python (file d'attente de messages POSIX)
Apprenez le traitement / collouts asynchrones Python en comparant avec Node.js
Récapitulatif du traitement de la date en Python (datetime et dateutil)
Serveur HTTP et client HTTP utilisant Socket (+ navigateur Web) --Python3
Communication série avec Python
Jugement des nombres premiers par Python
Traitement distribué Python Spartan
Astuces Python et Numpy
[Python] pip et roue
Communication série avec python
Traitement de fichiers en Python
Python: traitement du langage naturel
Mémo de visualisation par Python
Traitement multithread en python
Itérateur et générateur Python
Premier traitement d'image Python
Paquets et modules Python
Intégration Vue-Cli et Python
Ruby, Python et carte
Traitement de texte avec Python
Traitement des requêtes en Python
entrée et sortie python
Python et Ruby se séparent
Principes de base de Python: Socket, Dnspython
Câblage Communication Pi-SPI avec Python
(Débutant) Communication par socket SSL