实验三


(一)实验内容


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


(二)实验要求


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


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


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


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


注:在华为ECS服务器(OpenOuler系统)和物理机(Windows/Linux系统)上使用VIM、PDB、IDLE、Pycharm等工具编程实现。


(三)实验报告


在规定时间前发表博客,标题“学号 实验三《Python程序设计》实验报告”


实验报告模板如下:

 # 20212205 2019-2020-2 《Python程序设计》实验三报告


课程:《Python程序设计》

班级: 2122

姓名: 王子权

学号:20212205

实验教师:王志强

实验日期:2022年4月28日

必修/选修: 公选课


## 1.实验内容

在python环境下实现socket的服务端和客户端传输信息

# 2. 实验过程及结果

服务端代码简单设置。

python代码能申请软著吗 python申请软件著作权_Python

客户端代码简单设置

python代码能申请软著吗 python申请软件著作权_服务端_02

用户端代码运行实例(附带了md5加密方式的使用)

由于md5加密方式无法进行解码,所以服务端不提供解码方式

由于在pycharm上我无法做到同时运行两段程序,所以接下来的运行是在vscode环境中来进行的

python代码能申请软著吗 python申请软件著作权_服务端_03

可以看出输入的东西和输出的出现了明显的不同,是md5的加密系统在起作用。

代码上传至码云

python代码能申请软著吗 python申请软件著作权_Python_04

python代码能申请软著吗 python申请软件著作权_Python_05

 

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

- 问题1:

运行终端时总是说由于目标计算机积极拒绝,无法连接。

- 问题1解决方案:应该先运行服务端,在运行客户端。

- 问题2:md5的加密方式虽然简单便捷,却缺少相应的解码方式

- 问题2解决方案:对其他的解码方式进行学习,达到真正可以加密传输的要求

- ...



## 其他(感悟、思考等)


这次作业对于我们没有什么基础的人来说跨度有点过大,需要各方面的资料和同学老师的帮助才能进行下去。


## 参考资料


-  [《Java程序设计与数据结构教程(第二版)》](https://book.douban.com/subject/26851579/)