Firefly官方教程之Netconnect使用文档

1、distributed说明
该模块包含了服务端与客户端通信的一些处理方法,包括发送数据的封装,协议头的封装,tcp通信时进行分包,处理粘包问题。
2、结构解析

LiberateFactory,协议工厂,所有连接的本质,服务端与客户端通信的这一行为的形象化,它包含三个部分:
1)LiberateProtocol,通信协议类,连接建立、断开后的操作,发送数据等都由它来控制
2)DataPackProtoc,数据包协议的定义,所有的数据解析都要遵守它定制的规则
3)ConnectionManager,连接管理器,所有的连接都受他的指挥,可以在它里面找到想要找的连接,进行操作
   Connection,与客户端的一条连接对象,通过他可以与客户端进行通信,主动断开连接,主动推送消息等。
3、使用示例
1)test_netconnect_server.py

2)test_netconnect_client.py

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


4.jpg (37.3 KB, 下载次数: 17)
下载附件  [url=]保存到相册[/url]

[color=rgb(153, 153, 153) !important]半小时前 上传

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

4)解释下,server运行后,client运行,client会建立两个线程,每隔线程都给server发送一条消息,会调用server的指令号为111的方法(即echo_111这个函数),打印出“hello”。Server会在运行后的5秒后断开连接id为0的那条连接,断开连接时会执行doConnectionLost方法。

Firefly官方教程之Netconnect使用文档

时间: 2024-07-29 20:03:02

Firefly官方教程之Netconnect使用文档的相关文章

Firefly官方教程之DBentrust使用文档

1.dbentrust说明 该模块主要是对数据库与memcached存储的处理.里面封装了从memcached数据到python对象的映射.可以以操纵python对象的方式进行memcached中存储的数据的操作,只要在不同的进程中实例化相同名称的memobject对象,就能保证对象中的数据是一致的.还包含了将这个对象中的数据同步到数据库的处理方法. 2.结构解析 <ignore_js_op> MemObject类规定了数据的格式,所有的数据都存储在memcached中,为了区分不同的数据,每

Firefly官方教程之Distributed使用文档

distributed使用文档1.distributed说明该模块主要封装了各个服务进程间进行通信的方法.node子节点域root根节点进程中的接口调用返回的都是延迟对象.关于延迟对象的使用,详见twisted中Deferred对象.2.结构解析 <ignore_js_op> PBRoot,root节点对象ChildsManager,子节点管理基类Child对象对应的是连接到本服务进程的某个服务进程对象.称为子节点对象RemoteObject远程调用对象,子节点服务进程中实现.可以通过这对象去

如何快速掌握官方提供的java API文档使用技巧

API的特点就是查阅方便,无需购买任何书籍,通过在线API文档官方网站,就可以随时随地查看JDK文档(即API文档),为编程提供极大的便利,节省了大量的时间.在线API文档的具体使用方法如下: 1.打开浏览器(任何一个浏览器都可以) 2.在搜索框输入java api,单击“百度一下”进行搜索 3.搜索完成后,鼠标下滑就能看到“在线API文档”字样了,单击超链接即可进入网站 4.进入网站后,直接单击“常用API文档索引”下面的java咖啡图标,进入文档 5.下面这个页面就是java api文档主页

linux系统编程之lseek帮助文档

通过man 2 lseek可以查看linux中的系统函数lseek函数的帮助文档,为了更好的学习,我把这些重要内容翻译过来 1 NAME 2 lseek - reposition read/write file offset//重置读或写文件的偏移量 3 4 SYNOPSIS//摘要 5 #include <sys/types.h>//如果要使用lseek函数,需要包含这两个头文件 6 #include <unistd.h> 7 8 off_t lseek(int fd, off_

Google官方教程之Selling In-app Products

1.原文链接[需FQ]:http://developer.android.com/training/in-app-billing/index.html 2.平时对于英文文档都是大概读一下,现在翻译文章,就需要咬文嚼字了,其中有很多觉得可能翻译错了或者翻译不好的都加了注解,希望高手回复个你觉得好的翻译. 3.本篇可能翻译第一,应用第二,实在没收获的就去看我先前的那篇支付博文^_^. 售卖In-app商品 依赖和前提条件 Android 2.2 or higher 需要阅读的 In-app Bill

android开发官方教程之Building a Dynamic UI with Fragments

1**Fragments 是小碎片的意思.** 1.创建一个Fragments. 2.Fragments对不同屏幕大小设备的调整 3.Fragments的交互 2**Fragments 像什么?** Fragments 有点像sub-activity,能在不同的Activity里面重复使用,拥有自己生命周期.能添加,删除.这课程告诉你怎么扩展Fragment. Fragments涉及support Library .support Library是什么意思? Android support Li

Kali Linux系列教程之OpenVas安装

Kali Linux系列教程之OpenVas安装 文 /玄魂 目录 Kali Linux系列教程之OpenVas安装... 1 前言... 1 1.  服务器层组件... 1 2.客户层组件... 1 安装过程... 2 Initial setup. 2 初始管理员密码... 4 从浏览器访问后台... 4 更新数据... 7 管理用户... 8 扫描器配置信息查看... 9 修复安装错误... 9 创建证书... 10 更新NVT. 12 客户端证书错误... 13 前言 OpenVAS是一款

d3js技术文档

D3js技术文档 概述 D3 allows you to bind arbitrary data to a Document Object Model (DOM), and then apply data-driven transformations to the document. For example, you can use D3 to generate an HTML table from an array of numbers. Or, use the same data to cr

0、Python的帮助文档

Python官方自带的帮助文档是格外的重要的.官方自带了chm的官方文档,位于: python\Doc里面的 chm 文件.也可以使用 help 命令来获取更多的帮助的信息. 使用的是2.7.10 的版本,贴上链接,找不到的人,可以使用: http://i.cnblogs.com/Files.aspx?order=1