学习Twisted
我该如何开始学习Twisted?你们推荐哪些书籍、文档或教程呢?
我问这个问题的原因是,我觉得学习Twisted可以帮助我更好地理解网络编程的相关概念(比如术语和工作原理等等)。我听说Twisted的文档不是很好,这是真的吗?
请注意,我希望得到一些对你们真的有帮助的建议。我想听听你们的经验。顺便说一下,我知道有官方文档,还有一本关于Twisted的O'Reilly书,这本书怎么样?
4 个回答
看看Twisted的文档里提供的示例吧。文档本身也不错,但不是特别全面。不过,API文档其实挺好的。
当你知道从哪个部分开始时,就可以尝试着玩玩代码,直到遇到问题为止。然后可以在网上搜索和你代码相关的示例,或者在StackOverflow上提问。
我学习Twisted的方式是从一个小项目开始,然后大量查资料;Twisted的教程有时候不太清楚,主要是要习惯这个框架和它的工作方式……
补充一下:我还建议你了解一下Twisted的基础,Twisted的核心思想是为Python提供事件驱动编程,还有一些其他功能,比如异步套接字和网页服务器类。
简单来说,Twisted中的“deferreds”和“callbacks”就是它的核心概念。你首先创建一个事件(也叫deferred对象),然后给它绑定一个回调函数;在某个时刻,你会触发这个事件,然后回调函数会被调用,并且会得到一个结果(可能是空的)来自你的事件操作。举个例子,如果你在一个表单上有一个按钮,你创建一个事件(deferred对象),然后绑定一个回调函数,当用户点击按钮时,就会触发这个事件,回调函数就会被调用来处理这个事件。
希望这些能让你对Twisted有个大概念,知道它在Python环境中是怎么用的。另外,还有IronPython(.NET),它也有事件处理的功能。
~乔治