使用Twisted建立你的服务器
2010-09-22 11:15:34 来源:WEB开发网请求和实例化的顺序是reactor、factory、protocol。但是真实的开发顺序返回是倒过来的,因为你可能最初始得到的需求是要用什么协议,在设计协义时才能了解需要哪些持久数据和在所有的用户请求是需要共享的内容,以及初始化时所需要完成的事务,最终你才能依据你要应用的平台来考虑优化的方法。我们先来看看如何完成一个自己的协议开发以适用于twisted框架。
理解protocol的工作
twisted的protocol是通过异步处理方式来处理数据的。这就意味着protocol会通过事件来进行网络数据的处理,并且在处理中不会进行任何等待。这是一个最简单的Echo协议的代码:
Toggle line numbers
1 from twisted.internet.protocol import Protocol
2
3 class Echo(Protocol):
4
5 def dataReceived(self, data):
6 self.transport.write(data)
echo是一个非常简单的协议,它所做的事就是将客户机发过来的数据完整的反回给客户端。这里它没有响应所有的方法,但是也是一个可以使用并且运行的协议。下面的代码响应了另一个事件:
Toggle line numbers
1 from twisted.internet.protocol import Protocol
2
3 class HelloHD(Protocol):
4
5 def connectionMade(self):
6 self.transport.write("Hello This is HD's Test protocolrn")
7 self.transport.loseConnection()
- ››建立唯美图片特效,十个jQuery插件分享
- ››使用脚本恢复WinXP系统的用户登录密码
- ››使用phpMyadmin创建数据库及独立数据库帐号
- ››使用Zend Framework框架中的Zend_Mail模块发送邮件...
- ››使用cout标准输出如何控制小数点后位数
- ››使用nofollow标签做SEO的技巧
- ››使用 WebSphere Message Broker 的 WebSphere Tra...
- ››使用SQL Server事件探查器做应用程序的性能分析
- ››使用SQL Server事件探查器分析死锁原因
- ››使用纯文本文件打造WCF服务
- ››使用 Dojo 开发定制 Business Space 小部件,第 4...
- ››使用 ADDRESS 与 INDIRECT函数查询信息
更多精彩
赞助商链接