菜单
  

    ⑷、当程序拥有时钟后开始计时,时钟在传递过程中不计时,最后时钟会在某个计算机处到时,收到时钟或时钟到时都应给出提示并通知其他计算机。
    ⑸、程序具有界面,通过界面可了解参与者的信息和当前分布处理状态。

       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的阶段。
  1. 上一篇:JSP停车位预约与指引系统设计
  2. 下一篇:基于能量的路由策略研究+文献综述
  1. 基于SpringBoot的分布式电商系统架构设计

  2. 某钢铁企业能源数据库的设计+VB源程序

  3. Android手机的一个简易商城客户端设计

  4. 基于BP神经网络的人脸识别...

  5. asp.net简易第三方微信公众平台管理系统设计

  6. P2P简易分布式程序的开发

  7. Linux环境下远程管理平台基础程序设计与实现

  8. 杂拟谷盗体内共生菌沃尔...

  9. 乳业同业并购式全产业链...

  10. 电站锅炉暖风器设计任务书

  11. 当代大学生慈善意识研究+文献综述

  12. 酸性水汽提装置总汽提塔设计+CAD图纸

  13. 河岸冲刷和泥沙淤积的监测国内外研究现状

  14. 十二层带中心支撑钢结构...

  15. java+mysql车辆管理系统的设计+源代码

  16. 大众媒体对公共政策制定的影响

  17. 中考体育项目与体育教学合理结合的研究

  

About

751论文网手机版...

主页:http://www.751com.cn

关闭返回