hpfeeds介绍

本文是翻译的git上hpfeeds项目


关于

       hpfeeds是一个轻量级的、需要认证的、支持任意的二进制载荷的公开协议。推送(feeds)支持任意的二进制载荷,且根据频道划分成不同的种类。这意味着

频道的使用者必须决定数据的传输结构,例如,可以选择一个序列化格式。

       进入频道需要一个所谓的“授权钥匙”,该钥匙是由一对id和secret决定,发送到服务器的secret映射到一个连接。通过这种方式,任何窃听者都不能获得有效的

凭证。当然了,该协议可以运行在SSL/TLS之上。

       为了支持多数据源和数据池,对于每一个用户,在他们用账户登录后,我们通过Web界面管理“授权钥匙”。账户在Web需要数据推送时,仅仅需要“授权钥匙”,

不同的钥匙会被赋予不同的频道权限。


安装

git clone https://github.com/rep/hpfeeds/
cd hpfeeds
python setup.py build
python setup.py install

有线协议

    每个消息都含有一个消息头,参数(length, data)决定了消息类型。


    例如,公共消息包含了消息头、长度(client_id)、client id、length(频道名字)、频道名、载荷,载荷可以使任意的二进制数据,在有线网上,它看起来像这样:




消息类型

  • error (0): errormessage
  • info (1): server name, nonce
  • auth (2): client id, sha1(nonce+authkey)
  • publish (3): client id, channelname, payload
  • subscribe (4): client id, channelname
  • For further details and definition of each message type, consider the page about the example CLI which describes how to speak the wire protocol.


认证

  • 服务器针对每一个连接发送一个随机数
  • 客户端发送id和sha1(随机数+"授权钥匙")散列
  • 服务器通过id查找"授权钥匙"并检查散列值
  • 服务器查找该客户端订阅/发布的ACL


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值