计算机网络实验(5) | 您所在的位置:网站首页 › 实现迷宫算法实验心得 › 计算机网络实验(5) |
📍实验目的
模拟转发算法和校验和算法 📍实验内容编写一个计算机程序用来计算一个文件的16位效验和。最快速的方法是用一个32位的整数来存放这个和。记住要处理进位(例如,超过16位的那些位),把它们加到效验和中。 要求: 1)以命令行形式运行:check_sum infile 其中check_sum为程序名,infile为输入数据文件名。 2)输出:数据文件的效验和 📍实验分析① 需要将字符转化为十六进制; ② 对奇偶长度进行判断,并做出额外处理; ③ 两两合并; ④ 相加,对进位部分取出后,再加到最后的较验和中。 📍程序流程图创建infile.txt文件,输入内容:Hello world. 在pycharm的终端输入如下命令: python check_sum.py --path infile.txt 结果如下: 检验结果: 71fc: 0111 0001 1111 1100 ↓↓↓ 取反: 1000 1110 0000 0011 ↓↓↓ 8e03 模拟客户端接收: 4865+6C6C+6F20+776F+726C+642E+8E03(检验码) = 2FFFD ↓↓↓ 2FFFD / 0x10000 + 2FFFD % 0x10000 = 0xFFFF ↓↓↓ 取反:0x0000,即为0,数据检验成功! 再检验一个 检验结果: a0d: 1010 0000 1101 ↓↓↓ 取反: 0101 1111 0010 ↓↓↓ 5f2 模拟客户端接收: 4920+616D+2061+2067+656E+74BC+656D+616E+7E00+5f2(检验码) = 30FFC ↓↓↓ 2FFFD / 0x10000 + 2FFFD % 0x10000 = 0xFFFF ↓↓↓ 取反:0x0000,即为0,数据检验成功! 📍实验心得1. 用命令行运行 我之前写程序一直都是通过按钮进行运行,所以用命令行形式运行对我来说比较新颖,很快,我能自然联想到直接使用python check_sum便可以在命令行中运行,但有个问题我就不知道了:如何在运行程序的时候,给他加入相应的参数?于是,借鉴了博客,采用python自带的argparse包,就可以通过运行python check_sum --path infile.txt 运行程序了。 |
CopyRight 2018-2019 实验室设备网 版权所有 |