设计 任务书 文档 开题 答辩 说明书 格式 模板 外文 翻译 范文 资料 作品 文献 课程 实习 指导 调研 下载 网络教育 计算机 网站 网页 小程序 商城 购物 订餐 电影 安卓 Android Html Html5 SSM SSH Python 爬虫 大数据 管理系统 图书 校园网 考试 选题 网络安全 推荐系统 机械 模具 夹具 自动化 数控 车床 汽车 故障 诊断 电机 建模 机械手 去壳机 千斤顶 变速器 减速器 图纸 电气 变电站 电子 Stm32 单片机 物联网 监控 密码锁 Plc 组态 控制 智能 Matlab 土木 建筑 结构 框架 教学楼 住宅楼 造价 施工 办公楼 给水 排水 桥梁 刚构桥 水利 重力坝 水库 采矿 环境 化工 固废 工厂 视觉传达 室内设计 产品设计 电子商务 物流 盈利 案例 分析 评估 报告 营销 报销 会计
 首 页 机械毕业设计 电子电气毕业设计 计算机毕业设计 土木工程毕业设计 视觉传达毕业设计 理工论文 文科论文 毕设资料 帮助中心 设计流程 
垫片
您现在所在的位置:首页 >>计算机毕业设计 >> 文章内容
                 
垫片
   我们提供全套毕业设计和毕业论文服务,联系微信号:biyezuopin QQ:2922748026   
基于Python的选择性重复ARQ模拟实验 课程论文+代码
文章来源:www.biyezuopin.vip   发布者:毕业作品网站  


摘要
本文为选择性重复 ARQ(Selective Repeat ARQ) 模拟实验的实验报告。src 中包括两个程序, 发送发 S 和接收方 R,二者使用基于 TCP 的 socket 进行通信, 使用随机帧损坏和超时故障来反映出程序的差错控制。S 将用户输入数据组装成帧、缓存、发送、定时、可以接受 ACK 和NAK 应答,删除数据帧,停止计时。R 程序可以接受数据帧,根据是否损坏和帧序号,回应ACK 或者 NAK。
关键词: 选择性重发 ARQ,socket 通信,流量控制与差错控制
目录
摘要 1
1 设计与实现 1
1.1 总体设计 1
1.2 发送方程序实现 2
1.3 接收方程序实现 6
1.4 界面设计 8
2 展示与分析 9
2.1 窗口滑动 9
2.2 差错控制 9
2.3 超时重发 11
1设计与实现
1.1总体设计
实验采用 python 语言进行实现,主要分为三部分:
1.发送方 S:采用 socket 中的客户机模型。
•使用用户输入数据模拟上层数据,将其加入一个队列实现缓冲;
•创建一个连接守护线程,实现与服务器的连接,在此线程中再创建两个守护线程:1    个为处理来自接收者返回帧的线程,另 1 个为检查已发送的帧是否超时的线程;
•连接守护线程:若缓冲区不为空,则取出数据打包成帧、存帧、定时、发送;
•接收守护线程:接收到来自接收着的帧后,首先检查是否破损 (CRC 校验),然后根据帧类型为 ACK 或者 NAK 进行经一步的处理;
•检查超时线程:对滑动窗中已发送的帧进行超时检查,超时则重发。
2.接收方 R:采用 socket 中的服务器模型;
•采用单线程的实现方式,接收到来自发送者的帧后首先检查帧是否破损,然后检查帧  是否在接收窗口中,然后检查帧是否为 Rn,即是否为这一步所期望接收的帧。
•根据以上信息决定向接收者是否发送 NAK 和 ACK 帧。
•最后将接收到的数据输出到终端,表示传送给上层。
3.界面:采用 qt5(pyside2)进行实现。
•对发送方开发了图形界面,方便用户在输入的同时能够观察到滑动窗口的状态,和发  送帧的历史信息,同时图形界面在一定层面上,避免了多线程下需要对输入输出加锁   的繁琐;
•未对接收方开发图形界面,出于以下两个原因:
(a)接收方程序较为简单,没有输入,只有输出信息可展示;
(b)在图形界面中,要动态展示数据的处理,需要大量的延时信号,否则人眼很难观   测到变化。
1.2发送方程序实现
发送方采用多线程,异步的方式实现缓存、成帧、定时、存帧、发送、校验、接受 ACK 和
NAK、超时重发的功能。
实现图形界面展示的同时,终端也会输出详细的收发过程信息,多线程下终端的输出需要加锁。





  全套毕业设计论文现成成品资料请咨询微信号:biyezuopin QQ:2922748026     返回首页 如转载请注明来源于www.biyezuopin.vip  

                 

打印本页 | 关闭窗口
本类最新文章
基于Python的在线自主考试系 基于腾讯云的个人知识库管理系统 基于Android的酒店预定系统
基于matlab变频器控制交流电 基于微信小程序的家校联动平台管理 基于时频分析与自适应滤波技术的多
| 关于我们 | 友情链接 | 毕业设计招聘 |

Email:biyeshejiba@163.com 微信号:biyezuopin QQ:2922748026  
本站毕业设计毕业论文资料均属原创者所有,仅供学习交流之用,请勿转载并做其他非法用途.如有侵犯您的版权有损您的利益,请联系我们会立即改正或删除有关内容!