20243315 实验三《Python程序设计》实验报告

课程:《Python程序设计》
姓名:梁雨晗
学号:20243315
实验教师:王志强
实验日期:2024年4月16日
必修/选修: 公选课

1.实验内容
(1)创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套接字(TCP/UDP)进行通信。
(2)发送方从文件读取内容,加密后并传输;接收方收到密文并解密,保存在文件中。
2. 实验过程及结果
(1.1)代码的编写:
利用socket创建客户端和服务端及其实验结果:


(1.2)实验过程中出现了一些错误:
在这张实验截图中,实验错误提示服务器端积极拒绝客户端的请求。
而在后续的实验中,我们发现是接口通道9999已经被之前的一个网址占用,而在本次实验过程中,并未进行修改而产生报错
(2.1)编写文件传输加密以及文件接受解密




实验结果如下图


(2.2)在本实验中实现的加密是16字节的密钥,而在生成过程中却未能正常生成,我们在通过设置断点发现,生成的密钥是却是16位字节但是由于我们在接受过程中未能够编写解码代码,导致输出是总会出现b‘’,而我们需要的内容在‘’里面。我们编写了解码内容,并成功解决了问题。
3. 实验过程中遇到的问题和解决过程
(1)、在客户端与服务器端的交流过程中总会产生b‘’,而内容在b‘’的带引号里面
解决:老师讲解,AI回复,可知产生b‘’与上文提及字节多占一位的原因相同,是我们输入内容加码了,而在接受内容时未能解码
(2)、传输文件时找不到文件
解决:AI回复,同学讲解,pycharm报错的提醒:文件需要起定名称,并对该名称加上.txt。而在我得电脑上创建txt文件时则是会默认加上了txt尾缀,导致出现了两个.txt而出现错误,找不到文件
4.感悟及收获
1、在进行该实验过程中,我们学会了服务器与客户端的相互连接和作用的过程,并学会了编写这两个端口的基本技能
2、在传输过程中一定要弄明白自己是否在加码和解码,以及输出结果是否解码
3、实验过程中学会随机应变,把握好各个过程中易产生的坑,才能更好地完成实验

posted @ 2025-04-18 17:22  d余寒b  阅读(36)  评论(0)    收藏  举报