Firefly官方教程之Distributed使用文档
原地址:http://bbs.gameres.com/thread_224191.html
distributed使用文档
1、distributed说明
该模块主要封装了各个服务进程间进行通信的方法。node子节点域root根节点进程中的接口调用返回的都是延迟对象。关于延迟对象的使用,详见twisted中Deferred对象。
2、结构解析

PBRoot,root节点对象
ChildsManager,子节点管理基类
Child对象对应的是连接到本服务进程的某个服务进程对象。称为子节点对象
RemoteObject远程调用对象,子节点服务进程中实现。可以通过这对象去调用root节点的进程中的接口方法。
3、使用示例
1)test_distributed_root.py

2)test_distributed_node.py

3)上面分别为root(根节点)和node(子节点)的例子,运行test_distributed_root.py文件,你会看到下图,说明服务器已经启动,并开始监听1000这个端口。

5秒内运行test_distributed_node.py文件,你会在root这边看到下图,

并在node这边看到下图,

4)解释下,test_distributed_root.py运行时,root回去监听1000这个端口,处理消息的协议为BilateralFactory(root),并在5秒后调用“调用子节点接口”这个方法,后面三个参数,‘test_node’是子节点的id,即要调用哪个子节点的接口,‘printOK’是子节点中要被调用的方法名,‘asdfawefasdf’是要调用的那个方法需要的参数。即root会在5秒后调用node中的printOK这个方法,参数是‘asdfawefasdf’,所以test_distributed_node.py要在5秒内启动。test_distributed_node.py运行时,会去连接root监听的这个端口,所以你会在root这边看到“node [test_node] takeProxy ready”,说明test_node这个子节点已经连到root节点了,可以进行交互了。node会在启动后的1秒后去调root中的printData1这个方法,后面是需要的参数,执行结果如上。
Firefly官方教程之Distributed使用文档的更多相关文章
- Firefly官方教程之Netconnect使用文档
1.distributed说明该模块包含了服务端与客户端通信的一些处理方法,包括发送数据的封装,协议头的封装,tcp通信时进行分包,处理粘包问题.2.结构解析 LiberateFactory,协议工厂 ...
- Firefly官方教程之DBentrust使用文档
原地址: http://bbs.gameres.com/thread_224185.html 1.dbentrust说明该模块主要是对数据库与memcached存储的处理.里面封装了从memcache ...
- OpenStack keystone节点搭建(官方2018年4月份文档)
参考文档:https://docs.openstack.org/install-guide/common/conventions.html https://docs.openstack.org/mit ...
- linux系统编程之lseek帮助文档
通过man 2 lseek可以查看linux中的系统函数lseek函数的帮助文档,为了更好的学习,我把这些重要内容翻译过来 NAME lseek - reposition read/write fil ...
- [翻译][Nokogiri官方教程] 解析HTML/XML文档 / Parsing an HTML/XML Document
From a String From a File From the Internet Parse Options Encoding 原文: Parsing an HTML/XML Document ...
- UE4官方行为树快速入门文档解析和修改
近学习了UE4官方文档的行为树快速入门指南,发现里面的部分逻辑稍稍有点混乱和重叠,于是加入了自己的想法,修改了部分行为树逻辑,优化了其AI寻路能力. 初始的基本操作和资源创建同官方文档一样:1个Fol ...
- Google官方教程之Selling In-app Products
1.原文链接[需FQ]:http://developer.android.com/training/in-app-billing/index.html 2.平时对于英文文档都是大概读一下,现在翻译文章 ...
- Kali Linux系列教程之OpenVas安装
Kali Linux系列教程之OpenVas安装 文 /玄魂 目录 Kali Linux系列教程之OpenVas安装 前言 1. 服务器层组件 2.客户层组件 安装过程 Initial setup ...
- 编译OpenCV文档
概述 使用OpenCV的过程中经常查看文档,每次都去官网查看,不过国内访问速度很慢,有一份本地的文档就好了.本文列出了在Linux(Fedora)系统上从OpenCV源码编译出documentatio ...
随机推荐
- 【Codeforces Round#279 Div.2】B. Queue
这题看别人的.就是那么诚实.http://www.cnblogs.com/zhyfzy/p/4117481.html B. Queue During the lunch break all n Ber ...
- List中的get(i)
List中的get(i)方法是获取List中的第i个对象吗 是第i+1个对象.List是从0开始的 List是有序的可重复的集合接口
- Linux - 查看系统的版本信息
在 Linux 中,有多种方法可以查看系统的版本信息. uname 命令 huey@huey-K42JE:~$ uname -a Linux huey-K42JE 3.5.0-43-generic # ...
- Extjs load和reload的区别
store load()和reload() load( Object options ) : Boolean 采用配置好的Reader格式去加载Record缓存,具体请求的任务由配置好的Proxy对象 ...
- ios Swift 动手写
Swift语言概览 基本概念 注:这一节的代码源自The Swift Programming Language中的A Swift Tour. Hello, world 类似于脚本语言,下面的代码即是一 ...
- makefile文件制作入门
一.首先,看一下最简单的C文件 //hello.c文件 #include <stdio.h> void main() { printf("hello world\n") ...
- DOM4j--write
import java.io.File; import java.io.FileNotFoundException;import java.io.FileOutputStream;import jav ...
- wiegand/韦根
韦根 参考: 1.wiegand/韦根驱动
- QT宏 Q_OBJECT,explicit, QHostAddress, quint, emit
QT相關 一. 參考: 1.宏Q_OBJECT 二. explicit struct constrcution 三. QHostAddress Detailed Description: The QH ...
- yiic创建YII应用 "php.exe"不是内部或外部命令 解决办法
第一步:运行CMD命令. 第二步:进入Yiic文件的目录 (例如在D盘里面 D:/yii/framework) 第三步:D:\yii\framework>yiic webapp D: ...