|Version 12 (modified by jonathanj, 16 months ago)|
What is Twisted?
Twisted is an event-driven networking engine written in Python and licensed under the open source MIT license.
Easy Custom Servers and Clients
Twisted makes it easy to implement custom network applications, both servers and clients. Here's a TCP server that echoes back everything that's written to it:
from twisted.internet import protocol, reactor class Echo(protocol.Protocol): def dataReceived(self, data): self.transport.write(data) class EchoFactory(protocol.Factory): def buildProtocol(self, addr): return Echo() reactor.listenTCP(1234, EchoFactory()) reactor.run()
Event-Driven Web Applications
Twisted includes an event-driven web server. Here's a sample web application:
from twisted.web import server, resource from twisted.internet import reactor class HelloResource(resource.Resource): isLeaf = True numberRequests = 0 def render_GET(self, request): self.numberRequests += 1 request.setHeader("content-type", "text/plain") return "I am request #" + str(self.numberRequests) + "\n" reactor.listenTCP(8080, server.Site(HelloResource())) reactor.run()
And Other Protocols
- Get in touch with the Twisted community through email, Stack Overflow or IRC;
- Learn about the Twisted development process and how to contribute;
- Read about software using Twisted and their success stories;
- Find out what Twisted Matrix Laboratories is;
- Learn about the individuals and organisations that Twisted aid with donations of hardware, software, hosting and other things;
- Help improve Twisted on Windows!