网狐框架分析一 -- 150616
---
#1. 基本流程
客户端同服务器建立通信连接
服务器判断游戏是否开始(客户端等待其它玩家入位再游戏或者直接和服务器进行游戏)
客户端同服务器进行交互及客户端界面展示
游戏结束,进入下一局,循环。
或者客户端离开,中断连接。
#2.图示
##2.1 流程图
```flow
st=>start: Start
op=>operation: Your Operation
cond=>condition: Yes or No?
e=>end
st->op->cond
cond(yes)->e
cond(no)->op
```
---
##2.2 时序图
```seq
Note left of Client: html5
Client->Server: 发起登录请求(var socket=new WebSocket(host);)
Server-->QueueService::OnQueueServiceThread:
QueueService-->CAttemperEngine::OnQueueServiceSink
CAttemperEngine-->CServerSocketRSThread::OnEventThreadRun
CServerSocketRSThread-->CServerSocketItem::OnRecvCompleted 通过recv接收信息
CServerSocketItem-->CServerSocketItem::SendHandShakeData 发送握手信息到客户端
CServerSocketItem-->Client:: WSASend (websocket专用格式)
CServerSocketItem-->CTCPNetworkEngine::OnSocketReadEvent
CTCPNetworkEngine-->PostNetworkReadEvent::
PostNetworkReadEvent-->CQueueService::AddToQueue -->PostQueuedCompletionStatus 加入数据队列
Note left of Server: C++
Server-->Client: I am good thanks!
```
---
```seq
CServiceThread-->CQueueServiceThread::ThreadFunction()-->OnEventThreadRun()
CQueueServiceThread-->CQueueService::OnEventThreadRun()-->OnQueueServiceThread()
CQueueService-->CAttemperEngine::OnQueueServiceThread()-->OnQueueServiceSink()
CAttemperEngine-->CAttemperEngineSink::OnQueueServiceSink()-->OnEventTCPNetworkRead()
CAttemperEngineSink-->CTCPNetworkEngine:: OnEventTCPNetworkRead()-->SendData()
CTCPNetworkEngine-->CQueueService:: SendData()-->AddToQueue()-->PostQueuedCompletionStatus()
```
网狐框架分析一 -- 150616相关推荐
- 网狐框架分析六--整体框架 20150623
--- # 1.首先得分析网狐整套流程(原版) 客户端和服务器的交互: 客户端登录过程(socket连接,服务器接收,数据库判断,返回验证消息,建立连接) 客户 ...
- 网狐框架分析八--web登录游戏大厅流程
--- #1.web客户端代码分析 web客户端传4个值,userID,passWord,IPAddr,IPPort,最后2个是连接服务器用的,userID和passWord是验证用户信息用的. 以下 ...
- 网狐框架移植到linux,Red Hat反驳Linux漏洞报告 应关注危急缺陷!
在有关Linux/Unix中的缺陷数量多于Windows 的报告出台后,开放源代码社区进行了有力的反击. 开放源代码专家已经对美国CERT发布的这一报告进行了谴责,他们称这一报告是误导性的. CERT ...
- 网狐棋牌框架内核通信设计原理剖析
关于网狐框架我使用和了解大致有5年多了,也深知里面的一些坑坑洼洼,其他人写的一些关于网狐框架分析的文章,大多都是贴上大量的代码,模块流程大致的解说,都是一些皮毛解说,并没有点出为什么这 ...
- 关于网狐棋牌6603源码的整理、编译和搭建
最近换工作,趁着有一段清闲时间,整理了一下网狐棋牌的源码,这份源码下载很久了,一直呆在硬盘.这次正好好好看看. 网狐的代码质量很高,流露出来的代码也比较完整,基本上都能编译通过.但是要真的搭建起来,还 ...
- 红孩儿网狐Cocos经典棋牌开发教程-卞安-专题视频课程
红孩儿网狐Cocos经典棋牌开发教程-4750人已学习 课程介绍 由知名Cocos技术讲师红孩儿讲解的基于网狐源码进行棋牌开发的系列教程. 课程收益 1.快速理解掌握网狐棋牌的 ...
- 视频教程-红孩儿网狐Cocos经典棋牌开发教程-手游开发
红孩儿网狐Cocos经典棋牌开发教程 中国早期游戏程序员,2003年起从事游戏程序开发,负责开发过多款游戏项目,曾担任大型端游<无限世界>自研引擎技术负责人,2012年起关注Cocos引擎 ...
- 两年前搭建的网狐系统
宝贝 店铺 输入您想要的宝贝 搜索 网狐6603源码(内核+多款游戏) 商品ID:527229490733 类目: 其他 >> 其它 价 格: ¥ 100.00 物流运费: 卖家承担运费 ...
- Module.h 网狐的“com”工具箱
Module.h 网狐的"com"工具箱: 简单介绍下这个东东,其实我以前分析的时候就说过了,这个设计看上去很美,其实用起来不那么方便.这不6603就没有这玩意了. ...
最新文章
- 一个基于组件的动态对象系统
- linux mint 相关环境配置
- 十六届全国大学生智能车竞赛线上比赛的队伍看过来,你们需要的图片都在这儿
- Android系统中设置TextView等的行间距
- [改善Java代码]不使用stop方法停止线程
- PAT (Basic Level) Practise:1037. 在霍格沃茨找零钱
- P1099 树网的核
- Android脚本打包
- 思科生成树协议STP/RSTP
- 数据结构之排序的概念及分类
- Java基础学习总结(88)——线程创建与终止、互斥、通信、本地变量
- C语言字母的压缩,C语言字符串快速压缩算法代码
- android https双向认证
- c语言程序课程设计过程,C语言课程设计————写下流程图! 谢谢
- Linux中Apache服务器的简单配置
- vi编辑器基本命令(简略)
- jeesite图片上传并显示
- 【科普】波特率和比特速率的理解
- php eval函数的用法,php eval函数用法详解
- Mac录屏减少文件体积和格式转换
热门文章
- 落地语音交互,出门问问从Google Glass开始
- linux的垃圾箱是哪个文件夹,Ubuntu命令行的垃圾箱Trash CLI,远离 rm 命令误删除重要文件的阴影...
- Python3中省略号(...)用法介绍
- edge浏览器如何把网页放到桌面_win10系统设置edge浏览器快捷方式放到桌面的操作方法...
- 在线快速将pdf转换成word
- [创新实践] SLAM简介
- Web——KnockOut 绑定语法之事件
- 串口助手发送数据到单片机并显示在液晶上
- matlab premnmx归一化函数的使用
- 看日光穿过手指 享受芬芳的下午茶