鹿敤

20192109 2020-2021-2 《Python程序设计》实验三报告

20192109 2020-2021-2 《Python程序设计》实验三报告


 

###

课程:《Python程序设计》
班级: 1921
姓名: 季一泓
学号:20192109
实验教师:王志强
实验日期:2020年5月31日
必修/选修: 公选课
###

实验内容


 

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

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

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

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

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

实验过程及结果


2.1 创建服务器

先初始化服务器,再令服务器连接本地IP地址+端口,设置服务器可以监听多个客户请求(此处设为3),当然客户端得排队。

为了让服务器能一直工作,我令服务器循环工作,同时将接收到的密文通过base64.b64decode解密后保存至“server.txt”文件。

2.2 创建多个客户端

先读取文件信息,再通过base64.b64encode()对文件进行加密。

题目要求服务端在特定端口监听多个客户请求,因此此处设置两个客户端,尝试同时对服务器进行通信请求。

2.3 进行通信

通信过程如下图,服务端能同时监听多个客户请求,同时客户端满足打开文件加密传输的要求,服务器满足解密并写文件的要求,同时给以客户端回复

实验过程中遇到的问题和解决过程


- 问题1:读写文件报错argument must be str, not bytes

- 问题1解决方案:加入.encode("utf-8")和.decode("utf-8"),将字符串转为字节

 

posted on 2021-05-31 19:50  鹿敤  阅读(29)  评论(0编辑  收藏  举报

导航