爬虫日记(104):Twisted:客户端实现双向传送协议

前面实现了一个转换服务器的功能,它就是把客户端的发送过来的诗歌内容进行小写转换,然后再把转换之后的内容发送回去给客户端,这是一种RPC的调用过程。也是目前比较热门的微服务的变种。虽然这个例子比较简单,但是它实现了服务器的双向传送的功能,也演示了Twisted开发服务器的便捷性。有了服务器,那么我们就需要开发一个客户端才可以访问这个服务器了。在开发的过程中,我们面临着两个问题,第一个问题就是需要向多个服务器进行通讯,第二个问题是两个服务器之间进行的处理需要进行协调,比如下载诗歌服务器要先进行连接并进行下载,并且下载成功之后才能进行转换服务器的调用。可以看到这种需要是不同的操作组成,并且有先后顺序性,必须保持这种顺序性,否则就会出错。

在Twisted框架里是怎么样来保证这种顺序性的工作呢?它是采用Deferred的链式关联在一起的,在这里可以采用嵌套的Deferred对象来实现,如下图:

爬虫日记(104):Twisted:客户端实现双向传送协议

上一篇:N-API中的Promise功能的使用


下一篇:如何在Java中创建文件时在Mac OS X中提供文件路径?