socket servidor libreria funciones español crear con comandos python networking twisted

libreria - Buenas bibliotecas de red Python para construir un servidor TCP?



socket python 3 español (5)

Debo aceptar que la documentación es un tanto escueta, pero el tutorial lo pone en marcha rápidamente.

http://twistedmatrix.com/projects/core/documentation/howto/tutorial/index.html

El paradigma de programación basado en eventos de Twisted y sus deficientes puede ser un poco extraño al principio (fue para mí) pero vale la pena la curva de aprendizaje.

Comenzarás a hacer cosas mucho más complejas más rápidamente que si escribieras tu propio framework y también significaría una cosa menos para la búsqueda de errores ya que Twisted está muy probado en producción.

Realmente no conozco otro marco que pueda ofrecer tanto como Twisted can, por lo que mi voto definitivamente iría por Twisted, incluso si los documentos no son para los débiles de corazón.

Estoy de acuerdo con Greg en que SocketServer es un buen término medio, pero dependiendo de la audiencia objetivo de su aplicación y el diseño de la misma, puede que tenga algunas cosas buenas que esperar en Twisted (me viene a la mente el PerspectiveBroker que es muy útil, http: //twistedmatrix.com/projects/core/documentation/howto/pb-intro.html )

Me preguntaba qué bibliotecas de red existen para Python para construir un servidor TCP / IP. Sé que Twisted podría pasar por mi mente, pero la documentación parece escasa, descuidada y dispersa para mí.

Además, ¿usar Twisted incluso tendría un beneficio sobre rodar mi propio servidor con select.select ()?


La biblioteca estándar incluye SocketServer y módulos relacionados que pueden ser suficientes para sus necesidades. Este es un buen término medio entre un marco complejo como Twisted, y girando tu propio loop select ().


Si no está dispuesto a utilizar Twisted, es posible que desee comprobar SocketServer.ThreadingTCPServer . Es bastante fácil de usar, y es lo suficientemente bueno para muchos propósitos.

Para la mayoría de las situaciones, Twisted probablemente sea más rápido y más confiable, así que estorbaría la documentación si puedes :)


Simplemente agregando una respuesta para repetir otros carteles, valdrá la pena usar Twisted. No hay razón para escribir otro servidor TCP que termine funcionando no tan bien como uno que use retorcido. La única razón sería si escribir el suyo es mucho más rápido, en cuanto al desarrollador, pero si solo muerde la bala y aprende a retorcerse ahora, sus proyectos futuros se beneficiarán enormemente. Y, como han dicho otros, podrá hacer cosas mucho más complejas si usa retorcidas desde el principio.


He intentado 3 enfoques:

  • Escribir mi propio framework de bucle select () (prácticamente muerto, no necesariamente lo recomiendo).
  • Usando SocketServer
  • Retorcido

Utilicé el SocketServer para un servicio web interno con bastante poco tráfico. Se usa para un servicio de registro interno de bastante tráfico. Ambos funcionan perfectamente y parecen bastante confiables para el uso en producción. Para todo lo que necesita ser un rendimiento, creo que Twisted es mucho mejor, pero es mucho más trabajo entender la arquitectura.