第二次寒假作业
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/2022OOP/ |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/2022OOP/homework/12442 |
这个作业的目标 | 提供规则集和数据集,输出数据集中数据包所最佳匹配的规则位置 |
GitHub
付费0.5元解锁本链接 |
---|
需要学习的内容
首先是作业中的一些概念
规则集、数据集等概念
规则集IP地址的表示法——点分十进制
其次是程序中需要用到的输入输出
文件流输入输出
规则集中十六进制数的输出
学习过程
1.20
看到题目的第一眼,我脸上写满了“懵逼”二字,这**什么啊,,(脑子里全是璃月粗口)。
看了几遍,终于抓住重点——匹配。
于是,我就硬照着题目写了IP匹配函数,思路如下:
受到点分十进制的启发,我将规则集和数据集的IP地址都转换成二进制字符数组,尝试了几番终于成功了:
规则集IP地址转换函数,数据集与之类似:
1.21
将端口和协议匹配函数也补上了
第一次commit时,由于本人理解有误,因此还push到了GitHub上:
1.22、1.23
学长纠正了题目,匹配函数略作修改:
第二次commit记录:
1.24
开始学习文件输入输出,但是由于本人理解不深,尝试几次都失败了
第三次commit记录:
1.25、1.26
学习文件输入输出的同时又学习了十六进制的输出方式,输入输出终于成功了,但是出现了几个问题,迟迟未得到解决
第四次commit(忘截图了)
1.27、1.28:
纠正了前两天出现的问题——文件输入十位数据时,未加上dec(十进制标识符);
第五次commit记录:
1.29、1.30:
做了最后优化,将进制转换函数和IP地址匹配函数简化:
第六次commit记录:
由于本人commit之后直接push到GitHub远程仓库上的时候直接关掉Git,所以没有截图:P
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?