20231108 陈震浩 实验三 《Python程序设计》实验报告

 # 20231108 2023-2024-2 《Python程序设计》实验三报告

课程:《Python程序设计》
班级: 2311
姓名: 陈震浩
学号:20231108
实验教师:王志强
实验日期:2024年4月20日
必修/选修: 公选课

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

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

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

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

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

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

## 2. 实验过程及结果
1. 认识socket: Socket(又称套接字)起源于Unix,是应用层与TCP/IP协议族通信的中间软件抽象层。复杂的TCP/IP协议族隐藏在了Socket接口内部,用户只需要简单地使用Socket接口来进行网络编程。应用程序通常是通过Socket向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。

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

加密代码文件:DesModule.py

服务端程序:文件名:MySocketServer.py

客户端程序:文件名:MySocketClient.py

运行结果:

接下来我们改进一下程序,看看能不能实现持续通话

服务端程序:

客户端程序:

输出结果:客户端和用户端实现了交流,这里只展示了一次对话,实际上可以进行很多次

## 3. 实验过程中遇到的问题和解决过程
- 问题1:先运行客户端计算机不响应
- 问题1解决方案:先运行服务端,再运行客户端,这样才可以正常响应
- 问题2:不了解加密解密方法
- 问题2解决方案:通过浏览资料以及实验了解了加密方法

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

Socket是实现数据通信的重要工具。它允许不同计算机或同一台计算机的不同进程之间进行通信,从而实现数据的交换和共享。 在学习Socket的过程中,我深刻体会到了TCP/UDP协议与Socket之间的关系,还学到了send和recv函数的使用方法。

## 参考资料

-  [TCP/IP网络通信之Socket编程入门](TCP/IP网络通信之Socket编程入门_哔哩哔哩_bilibili)

-  [还不会python 实现常用的数据编码和对称加密?看这篇文章就够啦~](还不会python 实现常用的数据编码和对称加密?看这篇文章就够啦~_res python加密-CSDN博客)

  • 8
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值