酿造、灌装、消费

pubkeeper.protocol的Python项目详细描述


#pubkeeper协议的目标是促进信息主题的分布式发布/订阅模型。

身份验证

```
pubkeeper packet(packet.authenticate,{
token:'your_jwt'
})
````

此方法应该是从客户端到pubkeeper服务器的第一个数据包。您向服务器提供一个jwt,该jwt应由服务器的管理员颁发给您。代币应该有一个发行人和观众,主题应该是你的客户。除此之外,令牌还将包含与此令牌相关联的权限数组。



\响应每个**认证**数据包,您将收到一个**认证**数据包,该数据包通过Pubkeeper服务器提醒您当前的状态。


brewer

```
pubkeeperpacket(packet.brewer嫒register,{
‘topic’:‘test.topic’,
‘brewer’:{
‘uuid’:‘xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx’
‘hostname’:‘localhost’,
‘port’:9899,
"协议":"udp"
}
}
````


此方法将向**u pubkeeper**服务器注册特定主题的**u brewer**。brewer配置应该能够指示订户如何监听您的数据流。此方法将向订阅此主题的所有客户端发送一个**brewer嫒notify**数据包。


\brewer嫒u unregister
-**参数**
-主题-您正在酝酿的主题
-brewer-您的brewer的配置

````
pubkeeperpacket(packet.brewer嫒unregister,{
主题:'test.topic',
'brewer':{
'uuid':'xxxxxxx-xxxx-xxxx-xxxxxxxxxxx'
'hostname':'localhost',
'port':9899,
'protocol':'udp'
}
})
````

此方法与上述方法相反,将指示服务器删除您的酿酒师以供使用。它还将发送一个**brewer_removed**包给订阅此主题的所有客户,以指示他们破坏他们的顾客。_[注意:您只能提供一个uuid字符串,而不能只为brewer注销一个对象。如果您验证了obejct,则需要提供与注册时使用的对象完全相同的对象]



\brewer\u notify
-**参数**
-主题-新brewer的主题
-brewer-网络中新brewer的配置

````
pubkeeperpacket(packet.brewer\u notify,{
"topic":"test.topic",
"brewer":{
"uuid":"xxxx xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx"
"hostname":"localhost",
"port":9899,
"protocol":"udp"
}
})
````

此方法从服务器发送给客户端,以通知他们一个新的啤酒酿造网络,以及在哪里找到他们。此数据包将只发送给订阅此主题的客户端,或者是一个类似于"brewer-removed


\brewer-removed
-**参数**
-主题-removed brewer的主题
-brewer-从网络上配置removed brewer

````
pubkeeperpacket(packet.brewer-removed,{
主题:'test.topic',
brewer:{
'uuid':'xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx'
'hostname':'localhost',
'port':9899,
"协议":"udp"
}
}
```


此方法将发送给订阅此主题的客户端,以通知他们不再在网络上的酿酒商。如上文所述,此数据包将发送给正在收听通配符主题的客户端。

\subscribe
-**参数**
-主题-订阅的主题

```
pubkeeperpacket(packet.subscribe,{
'topic':'test.topic'
})
`````

并希望注册有关此特定主题的酿酒师的更新。主题字符串的格式可以是通配符。例如,_test.*将支持以"u test"开头的所有主题。此方法将启动服务器,开始向您发送系统中所有当前brewer的**brewer挈notify**数据包。




\unsubscribe
-**params**
-topic-要从

````
pubkeeperpacket(packet.unsubscribe,{
"topic":"test.topic"
}
````

服务器不会向您发送任何其他信息,客户端有责任关闭到brewers的所有连接。


\{
"消息":"执行某些操作失败"
}
```


服务器端的某些操作出错,这将提醒客户端注意该问题。问题可能包括身份验证失败、未经身份验证时发出命令。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java泛型和基类   ProcessBuilder或DefaultExecutor启动的“RunAs”子进程的java读取标准输出   java应用程序在尝试登录时突然停止   Java:神秘的Java未捕获异常处理程序[带代码]   java JavaFX NumberAxis自动范围无限循环   最新版本和旧版本冲突的java双Maven依赖关系   java如何导入带有部署变量类名的静态函数?   编译器构造不同的JDK更新会产生不同的Java字节码吗?   java无法在struts 1.1中上载任何超过250 MB大小的文件   java调整jcombobox下拉菜单的宽度   java如何在某些情况下忽略@SQLDelete注释   在Eclipse for Java EE developers edition中禁用HTML警告   java HttpUrlConnection重置请求属性   java@Provider资源未在rest应用程序中注册   java TOP N使用JPA连接   java在使用反射调用方法时区分int和Integer参数