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

课程:《Python程序设计》

班级: 201933

姓名: 白晨阳

学号: 20193314

实验教师:王志强

实验日期:2020年5月30日

必修/选修: 公选课

1.实验内容

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

2.实验要求

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

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

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

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

3. 实验过程及结果

1.利用socket建立一个他的对象

2.写服务器端,用socket语句建立连接,然后接受消息,先用des解密,后用base64算法解密。

3.在服务器中输入存储的位置名称,之后创建文件,并通过解码的数据来写入就行

4.在客户端,打开文件读取相关内容,利用bs64和des加密,并把数据更改为8字节的并传输文件,就可以了

5.保存文件,关闭连接

首先是客户端



其次是服务器端

码云:https://gitee.com/besti-cs/bai20193314/blob/master/shiyan3—fa.py

https://gitee.com/besti-cs/bai20193314/blob/master/shiyan3—shou.py

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

  • 问题1:文件读取的时候会出现编码问题
  • 问题1解决方案:以二进制的方法读入
  • 问题2:加密时会出现格式不符合,有的要八字节,有的要字节类型,还有的要字符类型的。
  • 问题2解决方案:要学会充分利用好encode和decode,并利用一定的方法来时其格式正确,把握好二进制和字符间的关系
  • 问题3:会出现c语言不符合的问题
  • 问题3解决方案:可能是字节类型的不符合等问题,让他们的类型保持正确,就可以尽量避免这类问题
  • 问题4:解密时会出现字节型的问题,并且读不进文件
  • 问题4解决方案:把文件的读取模式改变或者decode
  • 问题5:读入文件会出现不存在此类文件
  • 问题5解决方案:有转义字符,去除其字符,输入的时候注意用上转义字符

其他(感悟、思考等)

在此次实验的过程中好多东西不太熟练,并且有关知识也不够,在python中,我们可以是利用别人的代码,,所以一定要把握好规则,这规则如果不对,不容易发现问题,并且python会利用其他语言的库,他的优点就可从中体现,但我们如果不能把握好,将会很麻烦,在以后的编程中一定要更加细致的发现问题才不会出现更多的错

最新文章

  1. sql增删改查-转载
  2. 分享记录我的Linux系统入门学习经验
  3. readonly与const
  4. fetch the words from url
  5. opencv基于HSV的肤色分割
  6. css实现超出一行后用省略号显示
  7. struts2 日期标签
  8. 201521123115《Java程序设计》第6周学习总结
  9. while100以内的偶数
  10. The based of tuning
  11. flex布局实例demo全解
  12. 解决vs-code高cpu占用率问题
  13. Python3学习之路~7.4 动态导入模块
  14. 12个 Linux 中 grep 命令的超级用法实例
  15. pyspider爬一批文章保存到word中
  16. [Web 前端] MobX
  17. linux内核编译指定工具连
  18. Linux下文件属性(drwxr-xr-x)详解以及(-rwxrwxrwx=777)(转)
  19. HashWithIndifferentAccess
  20. mysql一些常用的查询语句总结

热门文章

  1. QMap 删除指针内容时的一个问题
  2. uniapp 中获取微信小程序的原生导航栏高度
  3. Twig
  4. k8s volumes
  5. layui 关闭/打开新标签
  6. asp.net core 浏览器向服务端传递对象或对象数组参数服务端接收方式
  7. UI设计圈年终福利,错过一次等一年!
  8. ALV值存放图标
  9. 区分CommonJs/ES6 Module/AMD/CMD
  10. STM32F4 HAL库中是如何实现UART IO配置的?