爬虫日记(103):Twisted:服务器实现双向传送协议

Posted caimouse

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫日记(103):Twisted:服务器实现双向传送协议相关的知识,希望对你有一定的参考价值。

前面实现的诗歌服务器,主要实现下载的功能,这样比较简单,但是一般服务器要求实现双向传送的功能,这样才可让服务器实现客户端需要的功能。比如像简单的远程调用,通过协议让服务器进行诗歌转换之后再传送给客户端。为了实现这样的服务器,需要引入一个双向传送的协议,把前面的服务器更进一步改造。

在这里采用了Netstring,这个协议是一个简单的文本协议,它有用下面的格式:

[长度]:[内容]

前面是冒号后面的字符串的长度。

例如,表示一个字符串"hello world!",它会被转换成这样:<31 32 3a 68 65 6c 6c 6f 20 77 6f 72 6c 64 21 2c>, …;等于"12:hello world!," 。空的字符串可以表示为这样: "0:,"。

具体的协议定义,可以查看下面的内容http://cr.yp.to/proto/netstrings.txt

Net

以上是关于爬虫日记(103):Twisted:服务器实现双向传送协议的主要内容,如果未能解决你的问题,请参考以下文章

爬虫日记(102):Twisted:使用Deferred重构服务器代码

爬虫日记(95):Twisted开发异步程序基础

爬虫日记(105):Twisted:怎么样处理一个函数同步代码返回和异步对象返回

爬虫日记(81):Twisted的线程池使用

爬虫日记(94):Twisted的reactor设计来源

爬虫日记(96):Twisted的通过对象进行回调