Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
|
fw:twisted [2009/11/02 18:47] alfred |
fw:twisted [2020/05/09 09:25] (actual) |
||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| ====== Twisted ====== | ====== Twisted ====== | ||
| Es un framework para la programación de software en red, soporta un gran número de protocolos y tipos de sockets y está basado en la implementación de eventos. Esto es, el desarrollador escribe pequeños //callbacks// que son llamados por el framework. | Es un framework para la programación de software en red, soporta un gran número de protocolos y tipos de sockets y está basado en la implementación de eventos. Esto es, el desarrollador escribe pequeños //callbacks// que son llamados por el framework. | ||
| + | |||
| + | |||
| Línea 11: | Línea 13: | ||
| * ''twister.internet.reactor'': Un reactor es el bucle de eventos dentro de Twisted, el que dirige la aplicación dentro de este Framework. Provee helpers para el trabajo con //networking//, //threading//, eventos, //dispatching// (eventos en background)... | * ''twister.internet.reactor'': Un reactor es el bucle de eventos dentro de Twisted, el que dirige la aplicación dentro de este Framework. Provee helpers para el trabajo con //networking//, //threading//, eventos, //dispatching// (eventos en background)... | ||
| * ''twister.internet.BaseProtocol'': Una implementación base de un ''twister.internet.Protocol'', es decir, una estructura de funcionamiento. | * ''twister.internet.BaseProtocol'': Una implementación base de un ''twister.internet.Protocol'', es decir, una estructura de funcionamiento. | ||
| - | * ''twister.internet.Factory'': Es el elemento a partir del que se produce, se crea o se utiliza un protocolo, pueden haber de cliente (ClientFactory) o de servidor (ServerFactory). | + | * ''twister.internet.Factory'': Es el elemento a partir del que se produce, se crea o se utiliza un protocolo, pueden haber de cliente (''ClientFactory'') o de servidor (''ServerFactory''). |
| \\ | \\ | ||
| Un ''Protocol'' representa una conexión, si se desarrolla un server y se conectan cien clientes se crearán cien instancias de esta clase y desaparecerán cuando el cliente se desconecte. Un protocolo provee la funcionalidad básica para la comunicación y provee distintos métodos que al heredar de esta clase pueden ser sobreescritos y utilizarlos. Por ejemplo, en ''twisted.protocols'' encontramos gran variedad de protocolos (los más sencillos en ''twisted.protocols.basics'') que podemos utilizar heredando de estas clases y sobreescribiendo sus métodos. \\ \\ | Un ''Protocol'' representa una conexión, si se desarrolla un server y se conectan cien clientes se crearán cien instancias de esta clase y desaparecerán cuando el cliente se desconecte. Un protocolo provee la funcionalidad básica para la comunicación y provee distintos métodos que al heredar de esta clase pueden ser sobreescritos y utilizarlos. Por ejemplo, en ''twisted.protocols'' encontramos gran variedad de protocolos (los más sencillos en ''twisted.protocols.basics'') que podemos utilizar heredando de estas clases y sobreescribiendo sus métodos. \\ \\ | ||
| ''ServerFactory'' es el encargado de crear los protocolos, cada vez que un cliente conecte se instancia un objeto ''Protocol''. \\ \\ | ''ServerFactory'' es el encargado de crear los protocolos, cada vez que un cliente conecte se instancia un objeto ''Protocol''. \\ \\ | ||
| - | Los reactor son el motor de los programas en Twisted, existe un reactor por defecto (que podemos activar o desactivar). Es el que configura las ''Factory'' para que acepten las nuevas conexiones que estos le pasan ya que estos son los que escuchan por los puertos. | + | Los reactor son el motor de los programas en Twisted, existe un reactor por defecto (que podemos activar o desactivar con sus métodos ''on'' y ''off''). Es el que configura las ''Factory'' para que acepten las nuevas conexiones que estos le pasan ya que estos son los que escuchan por los puertos. |
| === Ejemplos === | === Ejemplos === | ||
| Línea 128: | Línea 130: | ||
| ===== Otros ===== | ===== Otros ===== | ||
| + | |||
| ==== Links ==== | ==== Links ==== | ||
| + | * [[http://twistedmatrix.com/trac/|Pagina del proyecto]] | ||
| + | * [[http://www.zope.org/Products/ZopeInterface/|A partir de //x// versión tiene una dependencia a esta librería.]] | ||
| * [[http://twistedmatrix.com/documents/current/api|API]] | * [[http://twistedmatrix.com/documents/current/api|API]] | ||