Gute Python-networking-Bibliotheken für den Aufbau einer TCP-server?
Ich Frage mich, was Netzwerk-Bibliotheken gibt es für Python für den Aufbau einer TCP - /IP-server. Ich weiß, dass Twisted springen könnten, um Geist, sondern die Dokumentation scheint knapp, schlampig und zerstreut mich.
Außerdem würde Verdrillte auch einen Vorteil haben über rolling meinem eigenen server mit auswählen.wählen Sie()?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Muss ich Zustimmen, dass die Dokumentation ist ein bisschen knapp aber das tutorial ruft Sie und läuft schnell.
http://twistedmatrix.com/projects/core/documentation/howto/tutorial/index.html
Die event-basierte Programmierung Paradigma Verdreht und es ist defereds vielleicht ein bisschen seltsam am Anfang (war für mich), aber es lohnt sich, die Lernkurve.
Werden Sie aufstehen und laufen tut viel mehr komplexe Dinge schneller, als wenn Sie schreiben Sie Ihren eigenen Rahmen und es würde auch bedeuten, eine Sache weniger, um die bug hunt, der so Verdreht ist, sehr viel Produktion bewährt.
Ich weiß wirklich nicht, von anderen Rahmen anbieten können, dass so viel wie Verdreht kann, also meine Stimme würde auf jeden Fall gehen, für die Twisted-auch wenn die docs sind nicht für das schwache des Herzens.
Stimme ich mit Greg, die SocketServer ist ein schöner Mittelweg, sondern abhängig von der Zielgruppe der Anwendung und der Gestaltung von it-haben Sie vielleicht ein paar nette Sachen zu freuen, die in sich Verdreht (das PerspectiveBroker, die ist sehr nützlich in den Sinn kommt - http://twistedmatrix.com/projects/core/documentation/howto/pb-intro.html)
Die standard-Bibliothek enthält SocketServer und zugehörige Module, die ausreichend sein für Ihre Bedürfnisse. Dies ist ein guter Mittelweg zwischen einem komplexen framework wie Verdreht, und Rollen Ihre eigenen select () - Schleife.
Wenn Sie unwillig sind, zu verwenden Sie Verdrillte, möchten Sie vielleicht check out SocketServer.ThreadingTCPServer. Es ist einfach genug zu verwenden, und es ist gut genug für viele Zwecke.
Für die meisten Situationen geeignet ist, Verdreht ist wahrscheinlich schneller und zuverlässiger, also ich würd Magen die Dokumentation, wenn du kannst 🙂
Nur das hinzufügen einer Antwort zu re-iterieren, andere Plakate - es wird es Wert sein zu verwenden Verdreht. Es gibt keinen Grund zu schreiben, noch eine andere TCP-server, der werde am Ende der Arbeit nicht so gut wie eine verdrillte würde. Der einzige Grund wäre, wenn das schreiben Ihrer eigenen ist viel schneller, Entwickler-Weise, aber wenn Sie nur den sauren Apfel beißen und lernen, verdreht jetzt, Ihre zukünftigen Projekte stark profitieren wird. Und, wie schon andere gesagt haben, werden Sie in der Lage zu tun, viel mehr mit komplexen Dingen, wenn Sie verdreht, von Anfang an.
Ich habe versucht, 3 Ansätze:
Benutzte ich den SocketServer für eine interne web-service mit relativ wenig Verkehr. Wird verwendet für eine ziemlich hohe traffic-interner logging-service. Beide führen sehr gut, und scheinen ziemlich zuverlässig für die Produktion verwenden. Für alles, was sein muss performant denke ich, dass die Twisted-Zeug ist viel besser, aber es ist viel mehr Arbeit, um Ihren Kopf um die Architektur.