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使用文档的更多相关文章
- Firefly官方教程之Distributed使用文档
原地址:http://bbs.gameres.com/thread_224191.html distributed使用文档1.distributed说明该模块主要封装了各个服务进程间进行通信的方法.n ...
- 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 ...
随机推荐
- C#控制台输入
学习C语言后,在学习C#会有一个很不适应的小毛病.那就是在C语言里面你可以在一行输入好几个数字或是字母然后分别赋给相应的变量.可是在C#里面就不一样了,它只能读取一行.要实现一个一个变量赋值那就只有一 ...
- PS定位
一.定位:按标准看谁离得近来进行覆盖:什么都没有(最远).浮动(远).定位(近) 二.position absolute 绝对定位,能堆叠在上一层下面,脱离文档流 relative 相对定位,按 ...
- Python(2.7.6) 特殊方法
在 Python 中有种特殊方法,也称为魔法方法.特殊方法的方法名的前后各有两个下划线,如__init__,这种拼写表示名字有特殊的意义.如果类实现了这些方法中的某一个,那么这个方法会在特殊的情况下被 ...
- 标签的innerHTML属性和html()
在新公司开发编码的时候,经常写js代码:有时候就需要往某个标签里添加一些html脚本或者要拿到某个标签里的html脚本,那么就会用到innerHTML和html. 1.innerHTML属性 w3sc ...
- Sublime Text2上搭建C/C++环境
环境:Sublime Text2 win7 64位 1.下载Sublime Text2并安装 下载地址:http://www.sublimetext.com/ 2.需要用 ...
- asp.net 中使用不同的数据源绑定gridview
第一种,使用SqlDataReader绑定gridview.代码如下: public SqlDataReader bind() { SqlConnection con = new SqlConnect ...
- AWK 脚本编写习惯
教训总结: 不能忽略了脚本语言的编写规范! 创建数组的时候初始化,特别是在for循环中使用的数组: u_count[; g_count[; 认真对待对象,特别是数组的命名: username_to_d ...
- CPrintDialog
CPrintDialog 封装windows为打印提供服务的通用窗体. BOOL GetDefaults(); //获取默认设备,不显示对话框 // Helpers for parsing infor ...
- iOS开发——推送证书
(最近准备考试……空闲截图整理成博客)
- Lodop错误汇总
代码方面 需要修改 LodopFuncs.js 里面的src地址,主要是端口号,端口号需要和服务器里面的程序的端口一样.如下: 调试错误 可以通过查看调用lodop的地方,查看lodop是否为空( ...