Socket-Kommunikation und Multithread-Verarbeitung durch Python

Die Multithread-Verarbeitung wird ausgeführt, und der Unter-Thread wird zu einem Server und akzeptiert Eingaben vom Haupt-Thread. Geben Sie nach der Ausführung auf dem Terminal eine entsprechende Zeichenfolge ein und drücken Sie die Eingabetaste. Die Zeichenfolge wird per Socket-Kommunikation vom Hauptthread an den Neben-Thread gesendet. Wenn der Subthread die Zeichenfolge empfängt, wird sie von der print-Anweisung an das Terminal gedruckt.

Umgebung ・ 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)  #Dies ist zu lang (Befehl zum Warten von 100 Sekunden)

    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

Socket-Kommunikation und Multithread-Verarbeitung durch Python
Kommunikationsverarbeitung durch Python
Socket-Kommunikation in C-Sprache und Python
Python 3-Socket-Modul und Socket-Kommunikationsfluss
Socket-Kommunikation mit Python
Senden Sie Daten von Python über die Socket-Kommunikation an Processing
Bildverarbeitung mit Python (Pillow)
Socket-Kommunikation mit Python LEGO Mindstorms
Python-Parallelverarbeitung (Multiprocessing und Joblib)
Python String Processing Map und Lambda
100 Sprachverarbeitung Knock Kapitel 1 von Python
Bildverarbeitung durch Python 100 Knock # 1 Kanalersatz
Socket-Kommunikation über Socket-Server mit Python jetzt
Graustufen durch Matrix-Reinventor der Python-Bildverarbeitung-
Bildverarbeitung mit Python 100 Knock # 6 Farbreduktionsverarbeitung
Ich habe versucht, mit einem Remote-Server über Socket-Kommunikation mit Python zu kommunizieren.
Python-Bildverarbeitung
Python-Dateiverarbeitung
Fehler und Abschluss der Ausführung durch LINE [Python] benachrichtigen
J / N-Verarbeitung mit Bash, Python und Go
Bildverarbeitung mit Python 100 Knock # 11 Glättungsfilter (Durchschnittsfilter)
Python Socket-Kommunikationsbeispiel / einfaches Tool zum Werfen von Daten
Teilen Sie Python-Bilder und ordnen Sie sie nebeneinander an
Python> Nach Nummer sortieren und nach Alphabet sortieren> Sortiert verwenden ()
[Sprachverarbeitung 100 Schläge 2020] Zusammenfassung der Antwortbeispiele von Python
Verarbeitung von CSV-Daten in voller und halber Breite in Python
Hinweise zur HDR- und RAW-Bildverarbeitung mit Python
[Python] Misst und zeigt die für die Verarbeitung erforderliche Zeit an
Steuern Sie andere Programme von Python aus (Kommunikation zwischen Python ⇔ exe)
Python-Lernnotiz für maschinelles Lernen von Chainer Kapitel 1 und 2
Das von Python berechnete VIF und das von Excel berechnete VIF sind unterschiedlich.
Asynchrone Verarbeitung von Python ~ Asynchron vollständig verstehen und warten ~
Prozessübergreifende Kommunikation zwischen Ruby und Python (POSIX-Nachrichtenwarteschlange)
Lernen Sie die asynchrone Verarbeitung / Collouts von Python im Vergleich zu Node.js
Zusammenfassung der Datumsverarbeitung in Python (Datum / Uhrzeit und Datum)
HTTP-Server und HTTP-Client mit Socket (+ Webbrowser) - Python3
Serielle Kommunikation mit Python
Primzahlbeurteilung durch Python
Python verteilte Verarbeitung Spartan
Python- und Numpy-Tipps
[Python] Pip und Wheel
Serielle Kommunikation mit Python
Dateiverarbeitung in Python
Python: Verarbeitung natürlicher Sprache
Visualisierungsnotiz von Python
Multithread-Verarbeitung in Python
Python Iterator und Generator
Erste Python-Bildverarbeitung
Python-Pakete und -Module
Vue-Cli- und Python-Integration
Ruby, Python und Map
Textverarbeitung mit Python
Verarbeitung in Python beenden
Python-Eingabe und Ausgabe
Python und Ruby teilen sich
Python-Grundlagen: Socket, Dnspython
WiringPi-SPI-Kommunikation mit Python
(Anfänger) SSL-Socket-Kommunikation