Twisted ist ein ereignisgesteuertes Netzwerk-Framework, das in Python geschrieben wurde. Es baut stark auf asynchronen und nicht-blockierenden Funktionen und ist am besten konzipiert, um Netzwerkanwendungen zu entwickeln, die diese nutzen. Es unterstützt Threads für Anwendungsfälle, in denen asynchrone, nicht blockierende E/A nicht möglich sind. Dies basiert auf der Tatsache, dass die meiste Zeit damit verbracht wird, in Netzwerk-E/A-Operationen zu warten. Das zwei Modell, das dies ausnutzt, ist das Threading-Modell, bei dem Sie mehrere Threads erstellen, die jeweils eine einzelne Task oder einen einzelnen Prozess ausführen, der nicht blockierende I/O verwendet, um mehrere Aufgaben in einem einzigen Prozess durch Interleaving mehrerer Tasks auszuführen. Twisted ist sehr gut für das zweite Modell geeignet.
Non-Blocking-Modell
+--------------------------+
|task1 | wait period | comp|
+--------------------------+
+--------------------------+
|task2 | wait period | comp|
+--------------------------+
Sie können einen sehr robusten Server mit Verdrehte entwickeln und POP3/IMAP-Unterstützung hat.
Es gibt ein Beispiel für die Erstellung pop3 client with twisted.
Überhaupt nicht. Ein Client und ein Server unterscheiden sich nicht wirklich, wenn es um die Netzwerkebene geht. –