一个死一般的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一词用于由节点订阅主题。

就这样,伙计们

名称服务器(可选实用程序)

我需要在局域网上安装与移动和网络配置无关的服务器。为此我决定延期。

  1. 在已知可靠地址上启动name_server.py
  2. 使用-name(服务器名)和-ns(ip_代表服务器名)启动服务器
  3. 使用host,port=mobnet.nameservice.lookup(name)
  4. 将节点连接到接收的主机和端口

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

推荐PyPI第三方库


热门话题
java编辑并重新运行spring引导单元测试,无需重新加载上下文即可加快测试速度   为什么我不能做演员?   java为什么是线程。join通常用于停止安卓中的线程   java从weblogic服务器调用JSON POST REST服务时收到400:错误请求   java在DeviceAdmin模式禁用时设置身份验证?   java SortedMap的keySet()能否始终安全地强制转换到SortedSet?   安卓 java。lang.NoSuchMethodException可包裹类   java JOGL库安装   javatomcat内存管理   java使用getString()中的变量   java将最小星号设置为评级栏   Java中字符串相等的println()方法。。。它到底是如何工作的?   java如何从文本中输出的数组中放入随机图像