QMQP: The Quick Mail Queuing Protocol

http://cyberdesk.com/wiki/qmail/qmqp

http://cr.yp.to/proto/netstrings.txt

QMQP 的基础是 netstring 格式。假设要把 hello world! 封装为 netstring 格式:
1)先得到这个字符串的长度,12
2)按如下的顺序把长度和内容拼接起来:长度,冒号,内容,逗号

按上面的步骤处理之后,结果如下

netstring( hello world! ) = 12:hello world!,


netstring 可以嵌套。多个 netstring 可以按顺序拼接起来,然后把这个拼接的结果作为一个待封装的内容,再次进行 netstring 封装。

393:30:Message body...,15:Fsender_address...,26:Trecipient_address,,


从上面的内容可以看出,netstring 格式有些类似 TLV(Tag-Length-Value),但是没有用到 Tag 这一部分。

在 QMQP 协议中,协议的内容就是一个嵌套的 netstring 。这个嵌套的 netstring 中,包含了邮件内容,发件人,收件人列表。由于 netstring 没有用到 Tag ,因此协议内容中的 netstring  是根据顺序来表示含义的。第一个 netstring 是邮件内容,然后是发件人,接着是收件人列表。

你可能感兴趣的:(protocol)