毕业论文
计算机论文
经济论文
生物论文
数学论文
物理论文
机械论文
新闻传播论文
音乐舞蹈论文
法学论文
文学论文
材料科学
英语论文
日语论文
化学论文
自动化
管理论文
艺术论文
会计论文
土木工程
电子通信
食品科学
教学论文
医学论文
体育论文
论文下载
研究现状
任务书
开题报告
外文文献翻译
文献综述
范文
简易分布式程序的开发(3)
⑷、当程序拥有时钟后开始计时,时钟在传递过程中不计时,最后时钟会在某个计算机处到时,收到时钟或时钟到时都应给出提示并通知其他计算机。
⑸、程序具有界面,通过界面可了解参与者的信息和当前分布处理状态。
1.3 相关技术路线
该简易分布式程序的开发,运用各个模块的相关协议,比如,询问-回答协议,握手协议,游戏协同协议等作为程序协议,完成程序里所有的“收—发”各种程序包的过程,连接起来达成该分布式的协同并发作业。合理利用分布式的并发特性,完成各个计算机的对等运行,共同完成一个简易游戏的全部过程。
2 毕业课题详细设计
2.1 基本框架
该毕设软件开发语言选取python,代码分为3个模块:receive(接收模块)、transfer(发送模块)、utils(每个阶段的协议和运行模块),设计过程分为5个阶段:检测阶段、游戏准备阶段、游戏等待开始阶段、游戏开始阶段、游戏阶段。
2.2 整体详细设计
(1)、检测阶段:计算机设置为3台(暂定),每台计算机都有属于自己的IP地址,每台计算机相互独立。每当一台电脑只要上线就会向另外的计算机广播一个“hello”的包,并进入等待状态,等待其他计算机的响应,每当其他计算机收到“hello”的包,就会进行响应,返回一个“ACK”的回答包。当计算机接收到“ACK”的包,就会进行确认,确定是哪台计算机的响应,并建立“wait_list”。
当每台上线的计算机都发送并且接受完毕,都有了自己的“wait_list”时候,检测阶段就完毕了,并进入游戏准备阶段。
(2)、游戏准备阶段:每台计算机都进入准备游戏阶段,这时,设计了一个三次握手的过程:每台计算机向自己的“wait_list”表里的每一个其他计算机组播一个“请求开始游戏的包—req_start”,其他计算机接受到这个请求包之后,都会向包的发起者返回一个“确认可以开始游戏的包—req_start_ack1”,以确认自己已经收到请求包,并同意开始游戏,并且同时询问发起者,发起者是否也同意开始游戏,当发起者收到其他计算机的确认包“req_start_ack1”后,为了向其他计算机建立游戏连接,并确认自己收到该“ack1”包,并同时转达自己也可以开始游戏的意图,会向其他计算机返回一个“req_start_ack2”(没有给自己返回“ack1”的计算机,意着,对方放弃游戏,不向其发送此包,)。
由于考虑到网络延迟的情况,有的计算机必然先传包,有的计算机后传包。这时,当每台计算机在发送询问包“req_start”之前,如果已经收到其他计算机的询问包,就不再向该发起者发送询问包,直接与其进行第二次握手,直到建立游戏连接。
每台已经通过“三次握手”建立连接的计算机,此时进入游戏等待开始阶段。
(3)游戏等待阶段:
a、倒计时阶段。每台进入游戏等待阶段的计算机,为了等待其他计算机的接入,先进行倒计时(设置为5秒),每1秒减去一个数值计时,并且显示出每一次当前计时。倒计时期间,如果有后续的计算机完成了“wait_list”,并且成功与进入倒计时阶段的计算机建立连接,许可该计算机加入等待游戏行列。倒计时结束之后,就不再接受新计算机的连接和接入请求。直接开始投票选出MASTER的阶段。
共5页:
上一页
1
2
3
4
5
下一页
上一篇:
JSP停车位预约与指引系统设计
下一篇:
基于能量的路由策略研究+文献综述
Android全国天气移动终端应用程序设计研究
安卓平台的云通讯录软件开发+源程序
Web应用程序漏洞扫描器设计
基于ARMSTM32CORTEX-M4简易电子相框的设计与实现
java+mysql简易OA管理系统设计
基于数字IC的电子钟系统的设计+源程序
SIFT算法图像匹配研究+程序
酵母菌发酵生产天然香料...
浅谈高校行政管理人员的...
浅论职工思想政治工作茬...
STC89C52单片机NRF24L01的无线病房呼叫系统设计
基于Joomla平台的计算机学院网站设计与开发
AES算法GPU协处理下分组加...
提高教育质量,构建大學生...
压疮高危人群的标准化中...
上海居民的社会参与研究
从政策角度谈黑龙江對俄...