贫僧自东土大唐而来, 前往西天拜佛求经 ( 研发 )
我在东土, 要去西天.
这是研发的第一篇, 没有什么好回顾的. 直接讲下计划. 由于本人最近生病, 所以明天需要去成都就医 . 可能会对这个阶段的进度有影响. 哎, 第一天就来这出~~是不是让大家失望呢?? 不过我相信万事开头难, 后面会好的.
首先是整个框架的设计. 框架分为 3 层. (服务器和客户端均为此结构)
1: 网络层. 这一层没什么新鲜的东西, 需要实现的功能相对简单. 连接, 被连接, 断连接 , 被断连接. send()一个buff, recv()一个buff. 这一层会相对独立且在几个线程中运行. 与加密解密, 无关. 对socket封装. 上层只会知道一个id 连接, 或者断开 以及某id 接收到的buff, 以及向某id发送buff. 由于这部分实现于架构无关且与平台关联密切, 所以我会去实现一个基于windows的简单实现. 效率暂时不做需求. 并且期待以后会有朋友再来完成这块的实现. 以实现跨平台 和 高效率.
2: 中间层. 这一层运行在一个线程中, 与具体的实现没有直接关系, 专注于处理 网络层, 管理连接状态, 管理 接收到的buff向逻辑层投递, 以及逻辑层产生的buff向网络层投递. 以及buff回收的辅助. 管理进程之间连接的状态, 对非法操作的第一次检验.(也可以做buff的加密解密. 压缩解压缩. 但是由于只有一个线程, 不清楚效率瓶颈, 所以也有计划把这部分做到逻辑层, 好像影响不大, 但是会有一次buff存储地转换, 多一层bug风险).
3: 逻辑层. 这一层做的就是逻辑工作了.
对于服务器来说, 一个具体buff投递进来被分析成消息, 驱动对应obj 的消息处理函数调用, 就是消息机制. 另外一个是定时器的回调来驱动逻辑. 这两个机制构成了obj 的驱动. 所有的需要响应消息 或 定时器事件的物件都必须继承obj.
对于客户端来说会更复杂一点, 因为客户端会多一层驱动: 即界面驱动. 而对于测试端, 界面驱动被换成了脚本驱动. 到实现层面上来说, 界面驱动 和 脚本驱动 会一致的调用 obj 接口实现. 客户端obj 中, 只有直接控制的玩家会被界面或脚本驱动. 脚本基于轮训机制或者 定时器机制.
也就是说, 逻辑层 分为 驱动 和 响应 两部分. 服务器的驱动层 只有定时器和消息. 而客户端还会多出 界面或者脚本. 当然客户端还有一个显示部分. 这部分好像只是读取obj list 的数据并做出显示, 对设计没有影响.
架构大致就说到这里. 万里之行始于足下, 光想是没有用的,得做. 从哪里开始做呢 ?? 请看下一篇: 关于内存管理.
贫僧自东土大唐而来, 前往西天拜佛求经 ( 研发 )相关推荐
- 施主,贫僧乃东土大唐而来,恳请在此借宿一晚……...
施主,贫僧乃东土大唐而来,恳请在此借宿一晚--... 1. 悟空!你丫这泼猴!得亏你没妈没大爷,不然看为师怎么骂你!我他妈跟你说过多少次了,但凡女妖捉了我以后,等我信号,等我信号再来救!你少嬉皮笑脸! ...
- 项目管理-8-径回东土 五圣成真(大结局)
项目管理-8-径回东土 五圣成真(大结局) 引言 '圣僧努力取经编,西宇周流十四年.苦历程途遭患难,多经山水受迍邅.''功完八九还加九,行满三千及大千.大觉妙文回上国,至今东土永留传.' 经过十万八千 ...
- 北大最强扫地僧“韦东奕”爆红全网
临近高考,越来越多人为高考生们加油打气,一条北大数学老师的视频更是爆红网络. 视频中的他,自我介绍是:北京大学数学系10级本科生.14级研究生,高中数学联赛山东省冠军,拿到过数学奥林匹克金牌,也因此保 ...
- 北大数学系“扫地僧”韦东奕爆红!拒绝哈佛 offer,留任北大,却因长相引热议
这位北大数学老师一夜之间圈粉无数! 这位北大数学老师一夜之间圈粉无数! 手提一瓶矿泉水.三个馒头,朴素得像个「学生」. 他,是北大数学系的老师--韦东奕. 他,「横扫」各种数学竞赛『金奖』.网友称其为 ...
- 北大数学系“扫地僧”韦东奕爆红!拒绝哈佛 offer,留任北大,却因长相引热议...
来源:新智元 一瓶矿泉水,三个馒头,就是一餐,一条90后北大数学老师的视频爆红网络.他就是韦东奕,15岁拿下IMO国际数学竞赛金奖,18岁保送北大,哈佛还为争取他不惜打破百年校规. 这位北大数学老师一 ...
- 网络之OSI七层模型
观前提示:本篇博客演示使用的 IDEA 版本为2021.3.3版本,使用的是Java8(又名jdk1.8) 电脑使用的操作系统版本为 Windows 10 目录 网络初识 1.计算机与网络 1.1 计 ...
- Linux网络——数据链路层
这一层可以说是网络的最后一层了,因为在TCP/IP四层模型里,物理层和数据链路成合称为网络接口层.所以Linux网络的学习将要将要告一段落了 目录 以太网 以太网协议 mac地址 MTU ARP协议 ...
- 计算机网络协议——通信协议综述
通信协议综述 概述 一.为什么学习网络协议 1.1 常见的网络协议 二.网络分层的真正含义 2.1 为什么网络要分层? 2.2 浏览点击请求过程 2.3 揭秘层与层之间的关系 三.ifconfig 命 ...
- 只有程序员才能读懂的西游记,又看了一遍西游记!
这是一个有关计算机网络协议的故事 一.我佛造经传极乐 话说我佛如来为度化天下苍生,有三藏真经,可劝人为善. 就如图中所示,真经所藏之处,在于云端.佛祖所管辖之下,有四个区域Region,称为四大部洲, ...
最新文章
- 使用Python,Opencv进行二维直方图的计算及绘制
- Atitit.软件兼容性原理与实践 v3 q326.docx
- Delete Edges 完全图-找规律
- 机器学习模型部署_9月版部署机器学习模型
- vue.js v-bind
- RabbitMQ-JAVA-ClientAPI示例
- android poi导出excel,解决java poi导出excel2003不能超过65536行的问题
- wps复选框怎么设置_wps中excel复选框怎么设置
- qt java tcp_incomingConnection qtcpsocket
- bochs镜像java模拟器_bochs WIN7 IMG镜像文件
- OpenCV-Python图片叠加与融合,cv2.add与cv2.addWeighted的区别
- c++编译报错:ld returned 1 exit status
- 蓝牙技术|2028 年智能音箱市场将达290亿美元,伦茨科技推出(Alexa,Echo音箱)亚马逊App直连幻彩灯方案
- 大数据之路读书笔记-01总述
- 【论文翻译】 Clustering by Passing Messages Between Data Points
- HeidiSQL安装和使用教程
- 新拟态记账微信小程序网站H5,UI拟态记账
- 新入职员工Git配置方法
- 牛客刷题篇:客似云来 和 剪花布条(Java)
- NtripShare Mos地铁监测云平台与监测终端盒子架构设计