Heim  >  Artikel  >  Backend-Entwicklung  >  Codebeispiel einer Coroutine, die eine TCP-Verbindung in Python implementiert

Codebeispiel einer Coroutine, die eine TCP-Verbindung in Python implementiert

不言
不言nach vorne
2018-10-13 16:49:442239Durchsuche

Der Inhalt dieses Artikels befasst sich mit den Codebeispielen von Coroutinen in Python zur Implementierung von TCP-Verbindungen. Ich hoffe, dass er für Sie hilfreich ist.

Bei der Netzwerkkommunikation muss jede Verbindung einen neuen Thread (oder Prozess) zur Verarbeitung erstellen, andernfalls kann ein einzelner Thread während der Verarbeitung der Verbindung keine Verbindungen von anderen Clients akzeptieren. Deshalb versuchen wir, Coroutinen zu verwenden, um die Antwort des Servers an mehrere Clients zu implementieren.
Die Architektur ist die gleiche wie bei der einzelnen TCP-Kommunikation, mit der Ausnahme, dass Coroutinen verwendet werden, um mehrere Aufgaben gleichzeitig zu implementieren.

#服务端
import socket
from gevent import monkey
import gevent
monkey.patch_all()
def handle_conn(seObj):
    while True:
        re_Data  = seObj.recv(1024).decode('utf-8')
        if re_Data == 'quit':
            break
        print('client>>',re_Data)
        value  = input("server>>")
        se_Data = seObj.send(value.encode('utf-8'))
        if se_Data == 'quit':
            break
if __name__ == '__main__':
    server = socket.socket()
    server.bind(('192.168.1.227',9876))
    print("服务已开启")
    server.listen(4)
    while True:
        seObj,add = server.accept()
        gevent.spawn(handle_conn,seObj)
    seObj.close()
    server.close()
rrree

Das obige ist der detaillierte Inhalt vonCodebeispiel einer Coroutine, die eine TCP-Verbindung in Python implementiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen