20184202路荣辉 实验三《Python程序设计》实验报告

20184202路荣辉Python程序设计》实验三报告

课程:《Python程序设计》

班级: 1842

姓名: 路荣辉

学号:20184202

实验教师:王志强

实验日期:2020522

必修/选修: 公选课

一、实验内容

创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套接字(TCP/UDP)进行通信。

二、实验要求

1)创建服务端和客户端,选择一个通信端口,用Python语言编程实现通信演示程序;

2)要求包含文件的基本操作,例如打开和读写操作。

3)要求发送方从文件读取内容,加密后并传输;接收方收到密文并解密,保存在文件中。

4)程序代码托管到码云。

三、实验步骤:

1.创建连接

客户端与服务器端通过socket技术创造连接代码截图如下:

客户端:

 

 

服务器端:

 

 

2.传输接收、加密解密文件

客户端选择要加密传输的文件,然后传输文件名,随后打开文件,读出内容,并对内容加密,最后传输密文。代码截图如下:

 

 服务器端接受文件名,接受文件数据,解密后保存。代码截图如下:

 

 

3.返回消息

服务器端在解码看到明文后返回回复消息,代码截图

 

 客户端接受回复消息,返回消息,代码如下:

 

 

4.代码运行结果:

客户端:

 

 服务器端:

 

 

四、试验中遇到的问题与解决方法

  1. 文件无法打开,原因是自己在pycharm里已经打开了文件,所以在运行代码的时候无法执行文件打开的代码。解决方法:关闭文件。
  2. 服务器端无法返回消息,原因是客户端没有接受代码,解决方案为客户端写上接收代码

五、试验感悟

这次实验我做的是真的快要崩溃了,在一开始做试验的时候设想的功能是很丰富的,但到真正编写的时候出现了无数的bug,只能一遍一遍的改。许多bug由于一开始没找到原因,所有在后续的编写中反复的出现。最后实在做不出来,就简化了许多,只留下了基本操作。但通过这几天的实验,我逐渐掌握了socket技术的原理以及编写,同时对文件的操作也更为熟练。一开始对文件加密传输没有什么概念,现在知道了原理后还是很有成就感的。

posted @ 2020-05-24 09:04  路荣辉  阅读(110)  评论(0编辑  收藏