一个死一般的python订阅者/发布者网络
mobnet的Python项目详细描述
迷你观察者网络
####非常简单的订户发布网络。 默认编码为json,原始字节的可选编码
###一。启动服务器 使用-port-length-encode(选项)作为参数
1.-length是消息长度的标题大小
2.-编码(类型)JSON或字节
###2.在代码中创建节点。 tnode=miniojn.node(服务器IP路径,端口号) ###三。订阅主题 subscribe(“通用主题名”) ###四。使用这些节点可以从主题中读取内容并发布到主题中
发布到主题
publish(“通用主题名”,“hello world”)
退房许多项目正在等待阅读
tnode.status()
阅读项目
topic,info=tnode.read()
目前
只支持JSON和字节编码。 消息长度头是可变的。 这些数字和编码必须在整个网络中保持一致。
问答
主题不记录历史记录(一旦读取消息,它将从队列中弹出 并且节点在连接之前不会从中获取消息。)
节点是匿名的(它们没有经过验证的名称)
如果节点订阅了它们,它们将接收它们发布的内容。
目前还没有加密技术,将miniojn移植到其他语言会很痛苦。(但将作为选项添加)
####大多数情况下,这些包很容易被其他语言解码。
每个包都以表示其长度的n(4)个数字开头。因此消息不能超过10KB(默认情况下) 数据包是json或之后的字节。 subscribe as a string一词用于由节点订阅主题。
就这样,伙计们
名称服务器(可选实用程序)
我需要在局域网上安装与移动和网络配置无关的服务器。为此我决定延期。
- 在已知可靠地址上启动name_server.py
- 使用-name(服务器名)和-ns(ip_代表服务器名)启动服务器
- 使用host,port=mobnet.nameservice.lookup(name)
- 将节点连接到接收的主机和端口