毕业论文
计算机论文
经济论文
生物论文
数学论文
物理论文
机械论文
新闻传播论文
音乐舞蹈论文
法学论文
文学论文
材料科学
英语论文
日语论文
化学论文
自动化
管理论文
艺术论文
会计论文
土木工程
电子通信
食品科学
教学论文
医学论文
体育论文
论文下载
研究现状
任务书
开题报告
外文文献翻译
文献综述
范文
简易分布式程序的开发(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停车位预约与指引系统设计
下一篇:
基于能量的路由策略研究+文献综述
基于数字IC的电子钟系统的设计+源程序
SIFT算法图像匹配研究+程序
用VB學做黑客”程序【611字】
VB的分布式监控系统通信设计【721字】
ASP技术开发Web数据库检索程序【1514字】
ASP.NET的Web网络應用程序开...
茬應用程序中跟踪MOUSE的坐标【113字】
人性化的用户界面设计研究
室外办公系统创新设计研究
哈萨克民歌中生态美學思想的表现【4092字】
中班幼儿“求助”型告状行为的访谈提纲
硅酸钇镥闪烁晶体的光学性能研究
无刷电机调速系统设计任务书
常用游戏对于小学生英语教学的影响
天秤男婚后出轨能改好吗...
建议全面开放生育政策,...
地方政府跨区域联合环境污染治理研究