我在东土,  要去西天.

这是研发的第一篇,  没有什么好回顾的.   直接讲下计划.  由于本人最近生病, 所以明天需要去成都就医   .  可能会对这个阶段的进度有影响.    哎,   第一天就来这出~~是不是让大家失望呢??    不过我相信万事开头难,  后面会好的.

首先是整个框架的设计.   框架分为  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. 施主,贫僧乃东土大唐而来,恳请在此借宿一晚……...

    施主,贫僧乃东土大唐而来,恳请在此借宿一晚--... 1. 悟空!你丫这泼猴!得亏你没妈没大爷,不然看为师怎么骂你!我他妈跟你说过多少次了,但凡女妖捉了我以后,等我信号,等我信号再来救!你少嬉皮笑脸! ...

  2. 项目管理-8-径回东土 五圣成真(大结局)

    项目管理-8-径回东土 五圣成真(大结局) 引言 '圣僧努力取经编,西宇周流十四年.苦历程途遭患难,多经山水受迍邅.''功完八九还加九,行满三千及大千.大觉妙文回上国,至今东土永留传.' 经过十万八千 ...

  3. 北大最强扫地僧“韦东奕”爆红全网

    临近高考,越来越多人为高考生们加油打气,一条北大数学老师的视频更是爆红网络. 视频中的他,自我介绍是:北京大学数学系10级本科生.14级研究生,高中数学联赛山东省冠军,拿到过数学奥林匹克金牌,也因此保 ...

  4. 北大数学系“扫地僧”韦东奕爆红!拒绝哈佛 offer,留任北大,却因长相引热议

    这位北大数学老师一夜之间圈粉无数! 这位北大数学老师一夜之间圈粉无数! 手提一瓶矿泉水.三个馒头,朴素得像个「学生」. 他,是北大数学系的老师--韦东奕. 他,「横扫」各种数学竞赛『金奖』.网友称其为 ...

  5. 北大数学系“扫地僧”韦东奕爆红!拒绝哈佛 offer,留任北大,却因长相引热议...

    来源:新智元 一瓶矿泉水,三个馒头,就是一餐,一条90后北大数学老师的视频爆红网络.他就是韦东奕,15岁拿下IMO国际数学竞赛金奖,18岁保送北大,哈佛还为争取他不惜打破百年校规. 这位北大数学老师一 ...

  6. 网络之OSI七层模型

    观前提示:本篇博客演示使用的 IDEA 版本为2021.3.3版本,使用的是Java8(又名jdk1.8) 电脑使用的操作系统版本为 Windows 10 目录 网络初识 1.计算机与网络 1.1 计 ...

  7. Linux网络——数据链路层

    这一层可以说是网络的最后一层了,因为在TCP/IP四层模型里,物理层和数据链路成合称为网络接口层.所以Linux网络的学习将要将要告一段落了 目录 以太网 以太网协议 mac地址 MTU ARP协议 ...

  8. 计算机网络协议——通信协议综述

    通信协议综述 概述 一.为什么学习网络协议 1.1 常见的网络协议 二.网络分层的真正含义 2.1 为什么网络要分层? 2.2 浏览点击请求过程 2.3 揭秘层与层之间的关系 三.ifconfig 命 ...

  9. 只有程序员才能读懂的西游记,又看了一遍西游记!

    这是一个有关计算机网络协议的故事 一.我佛造经传极乐 话说我佛如来为度化天下苍生,有三藏真经,可劝人为善. 就如图中所示,真经所藏之处,在于云端.佛祖所管辖之下,有四个区域Region,称为四大部洲, ...

最新文章

  1. 使用Python,Opencv进行二维直方图的计算及绘制
  2. Atitit.软件兼容性原理与实践 v3 q326.docx
  3. Delete Edges 完全图-找规律
  4. 机器学习模型部署_9月版部署机器学习模型
  5. vue.js v-bind
  6. RabbitMQ-JAVA-ClientAPI示例
  7. android poi导出excel,解决java poi导出excel2003不能超过65536行的问题
  8. wps复选框怎么设置_wps中excel复选框怎么设置
  9. qt java tcp_incomingConnection qtcpsocket
  10. bochs镜像java模拟器_bochs WIN7 IMG镜像文件
  11. OpenCV-Python图片叠加与融合,cv2.add与cv2.addWeighted的区别
  12. c++编译报错:ld returned 1 exit status
  13. 蓝牙技术|2028 年智能音箱市场将达290亿美元,伦茨科技推出(Alexa,Echo音箱)亚马逊App直连幻彩灯方案
  14. 大数据之路读书笔记-01总述
  15. 【论文翻译】 Clustering by Passing Messages Between Data Points
  16. HeidiSQL安装和使用教程
  17. 新拟态记账微信小程序网站H5,UI拟态记账
  18. 新入职员工Git配置方法
  19. 牛客刷题篇:客似云来 和 剪花布条(Java)
  20. NtripShare Mos地铁监测云平台与监测终端盒子架构设计

热门文章

  1. HTML+CSS实现页面
  2. 力克·胡哲经典励志名言
  3. 计算机二级ms公共课知识点,考证必学 | 计算机二级MS Office考试全攻略
  4. 郑州轻工业大学 python1024: 计算字母序号
  5. 人工智能时代——人工智能的白发航海家
  6. css 修改 滚动条 样式
  7. 农历八月初一到潭柘寺
  8. 猜数游戏-devc++
  9. [vue2.x]MIXINS的使用
  10. 编译原理MOOC部分习题答案+解读(逐渐更新..