实验三
学号 2019-2020-2 《Python程序设计》实验三报告
课程:《Python程序设计》
班级: 18级4系3班
姓名: 喻光乾
学号:20184319
实验教师:王志强
实验日期:2020年5月16日
必修/选修: 公选课
1.实验内容
(一)实验内容
创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套接字(TCP/UDP)进行通信。
(二)实验要求
(1)创建服务端和客户端,选择一个通信端口,用Python语言编程实现通信演示程序。
(2)要求包含文件的基本操作,例如打开和读写操作。
(3)要求发送方从文件读取内容,加密后并传输;接收方收到密文并解密,保存在文件中。
(4)程序代码托管到码云。
2. 实验过程及结果
创捷一个服务端和一个客户端,并且选择8001为通信端口。
打开文档,将需要的内容读取出来。
再通信加密过程中,先将要传输的信息明文用encode编码成比特的形式,再用base64的方法b64encode加密比特流,之后再进行传输。
解密信息也是先用base64的方法b64decode解密比特流,再进行decode。
然后将内容写入文档里面
实验结果
3. 实验过程中遇到的问题和解决过程
- 问题1:在打开文档的时候由于文档的内容读写方式不对,在编译运行时产生错误无法正常运行
- 问题1解决方案:在打开文档的语句中加入打开文档的编码方式就可以解决问题。
- 问题2:在将读出的信息进行编码加密的过程中b64.encode()无法加密字符串。
- 问题2解决方案:先用encode将字符串编码成比特流的形式再用加密算法加密。
- ...
其他(感悟、思考等)
在学习了python的网络编程模块后,对于网络编程有了一些初步的了解,也熟悉了网络编程的一些基本的操作,明白了网络编程和我们平时普通的编程之间的区别。
参考资料
- 《Java程序设计与数据结构教程(第二版)》学习指导
- ...