ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2021-05-30 21:05:22  阅读:131  来源: 互联网

标签:文件 服务器端 Python 解密 实验 20203117 接字 实验报告 客户端


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

课程:《Python程序设计》
班级: 2031
姓名: 邓子啸
学号:20203117
实验教师:王志强
实验日期:2020年5月28日
必修/选修: 公选课

   1.实验内容

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

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

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

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

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

   2. 实验过程及结果
       首先需要在客户端、服务器端分别导入两个模块:socket和加密base64(base64是一种用64个字符来表示任意二进制数据的方法)

       在客户端,创建套接字,连接远端地址(s.connect()),在客户端创建一个文件txt,将需要传输的消息写入文件,通信前将文件的内容读出,对消息(text)使用base64.b32encode()函数加密后,再进行传输,发送(s.sendall())和接收数据(s.recv()),传输完毕,关闭套接字(s.close())。

       在服务器端,创建套接字,绑定套接字到本地IP与端口(s.bind()和s.listen()操作),进入循环,不断接受客户端的连接请求(s.accept()),然后接收传来的数据,使用base64.b32decode()函数对收到的消息进行解密,解密后再写入接收文件中,并发送给对方数据(s.recv(),s.sendall()),传输完毕,关闭套接字(s.close())

        2021bestipython/dzx20203117 - Gitee.com

 

   3. 实验过程中遇到的问题和解决过程
- 问题1:目标计算机积极拒绝
- 问题1解决方案:上网查询相关问题后,是使用了已建立的端口,于是关闭了代理服务器设置中的自动检测设置,问题得以解决
- 问题2:套接字没连接
- 问题2解决方案:客户端用的是s.connect,服务器端用的是s.bind

-问题3:receive文件中未呈现内容或未呈现解密的内容

-问题3解决方案:缺少文件内容的写入(t.write()),解密为decode!

   4.其他(感悟、思考等)

   本次实验难度一般,主要考察如何创建客户端、服务器端,如何创建文件并写入内容,还要对写入的内容进行加解密。结合云班课中的资料和网上的资料,可以解决相关问题,socket编程比以前的实验更有趣味性。

 

标签:文件,服务器端,Python,解密,实验,20203117,接字,实验报告,客户端
来源: https://www.cnblogs.com/dzx0421/p/14829010.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有