用户:
祖星查看:8 回复:13 评论:8 创建时间:2019-08-28T06:26:26
最近我们研究小组一直在从事服务器及缓存机制的研究,现在呢已经有一套比较完善的机制,从而让在编程猫上创作较大作品成为可能。
现附上样品教案的链接:https://ide.codemao.cn/p/Y6Ju3Zi0NhJ1izPu8kCNriyQUvq
然后我们首先介绍一下服务器的机制,服务器是一种可以长时间连续工作的PC(你们暂且可以这么理解,其实比这复杂的多,以后在写个帖子讲),一般是进行大量计算或用来支持网站的,那服务器在编程猫上又有什么作用呢,先举个例子,有的时候一些联机的模块需要长时间不间断运行,而每个用户不可能长时间一直在线,或者是有一些联机的数据需要交给一个机器来处理,而用户不定时在线自然不可能去执行,这个时候服务器就派上用场了!(虽然可以用二分法的变式。。但个人认为还是服务器比较好,况且二分法在模块里运行还要更难些)
看图:
这个就是我们样品的服务器运行界面(看不清可以去刚才的链接看)
首先前面一大堆的显示呢是让这些参数都显示出来方便实时在服务器上查看管理,然后从定义长度开始就是让服务器执行的操作,比如说我这个样品,他的意思就是每隔一天重置一次那两个云列表以及当在线人数变更的时候及时的将退出的人从列表中去掉,当然只有服务器端的模块是远远不够的,还需要客户端的支持
看图:这个就是客户端对应的响应代码,通过服务器端与客户端的合作,就可以达到这个目的啦!
在说一说缓存机制,缓存就是RAM,还得附图:
首先呢缓存是一个本地的列表,那缓存有什么作用呢,还是举个例子~,有的时候某个变量需要更改他的值,但是呢上一个值也需要保存,这个时候就需要先将上一个值存进缓存中然后将这个值更改,需要时在从缓存时调出,然后清空缓存,但是如果同一时间的缓存多了,就有可能发生数据冲突,所以就需要判断这个位上的缓存是不是空的,从而达到避免冲突的目的。
然后在说说数据的远程传输,图图图!轰,图来了!
这里设置了三个并行传输通道,以达到同时传输数据的目的,那在多人中如何判断是对方传过来的数据呢,这个时候就需要前缀标识了,就是将前缀设为某个字符串,而字符串需按规律排序或有唯一识别的标志,这样对方接收到这个前缀后才会继续接受接下来的信息,这也是现在大部分网络通信的方法,那如何避免数据冲突呢,采用和缓存一样的机制,只有通道为空时才可传输数据,接下来。。。图,又来啦。。。
这里我就拿一个通道举例子,当接收到对方的前缀后继续接收剩下的坐标部分。前面的是检测对方是否退出。
@猴急求加精
服务器及缓存项目研究小组 Copyright ©