20242208 2025-2026-2 《Python程序设计》实验3报告
20242208 2025-2026-2 《Python程序设计》实验3报告
课程:《Python程序设计》
班级: 2422
姓名: 韩岳航
学号: 20242208
实验教师:王志强
实验日期:2026年4月27日
必修/选修: 公选课
1.实验内容
创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套接字(TCP/UDP)进行通信。
2.实验过程及结果
任务一:
1.编写服务端与客户端程序
(1)创建服务端和客户端,选择一个通信端口,用Python语言编程实现通信演示程序;
(2)要求发送方输入内容,加密后并传输;接收方收到密文并解密和显示。要求:发方和收方同时输出明文和密文。
2.与 20252211陈鸿超 同学合作,双方同联一个热点,通过手动分配IP地址,实现通信演示程序。
(1)我作为服务端(10.226.148.8),在电脑上运行服务端程序,监听端口为8888,等待客户端连接。
(2)20252211陈鸿超同学在电脑上运行客户端程序,连接服务端(10.226.148.8)的8888端口。
(3)客户端输入明文,加密后将明文并显示明文和密文。
(4)服务端收到明文,解密后显示明文和密文。
(5)双方调换发文和收文角色,重复实验。
(6)实验结果如下图所示:

(1)20252211陈鸿超同学作为服务端,在电脑上运行服务端程序,监听端口为8888,等待我连接。
(2)我在电脑上运行客户端程序,连接服务端的8888端口。
(3)客户端输入明文,加密后将明文并显示明文和密文。
(4)服务端收到明文,解密后显示明文和密文。
(5)双方调换发文和收文角色,重复实验。
(6)实验结果如下图所示:

3.程序代码托管到码云
任务二:
1.使用LLM生成带图形界面的客户端与服务端程序:
2.再次与 20252211陈鸿超 同学合作,双方同联一个热点,通过手动分配IP地址,实现通信演示程序。
(1)我作为服务端(10.226.148.8),在电脑上运行服务端程序,监听端口为8888,等待客户端连接。
(2)20252211陈鸿超同学在电脑上运行客户端程序,连接服务端(10.226.148.8)的8888端口。
(3)客户端输入明文,加密后将明文并显示明文和密文。
(4)服务端收到明文,解密后显示明文和密文。
(5)双方调换发文和收文角色,重复实验。
(6)实验结果如下图所示:

(1)20252211陈鸿超同学作为服务端,在电脑上运行服务端程序,监听端口为8888,等待我连接。
(2)我在电脑上运行客户端程序,连接服务端的8888端口。
(3)客户端输入明文,加密后将明文并显示明文和密文。
(4)服务端收到明文,解密后显示明文和密文。
(5)双方调换发文和收文角色,重复实验。
(6)实验结果如下图所示:

3.分析关键代码的功能和使用方法
(1)加密与解密模块
KEY = 0x55
def encrypt(msg: str) -> bytes:
plain_bytes = msg.encode("utf-8")
return bytes(b ^ KEY for b in plain_bytes)
def decrypt(data: bytes) -> str:
return bytes(b ^ KEY for b in data).decode("utf-8")
功能:实现简单的异或(XOR)加密。每个字节与固定密钥 0x55 进行按位异或,加解密使用同一函数(对称性)。
作用:对聊天内容进行基本混淆,防止明文直接暴露在网络中。虽然安全性很低,但足以演示加密通信的基本思想。
(2)客户端 ClientGUI
连接设置
网络线程 client_thread
发送消息 send_message
(3)服务端 ServerGUI
连接设置
网络线程 server_thread
接收消息 receive_message
发送消息 send_message
4.生成程序的优点分析
- 优点1:教学演示价值高
- 优点2:界面友好,操作简单
- 优点3:代码结构清晰,易于扩展
- 优点4:双重展示密文/明文
- 优点5:典型网络通信模型的完整实现
5.程序代码托管到码云
3. 实验过程中遇到的问题和解决过程
- 问题1:运行代码时显示缺少gmssl包,且运行pip install命令时提示pip命令无法识别。
- 问题1解决方案:配置环境变量,不通过pip命令直接下载gmssl
- 问题2:配置ip后双方无法连接通信
- 问题2解决方案:经过排查发现网络防火墙未关闭,上网搜索教程后解决问题,双方可以通信
其他(感悟、思考等)
- 这次实验让我深入理解了Socket通信基本原理,并体验了与同学联机调试的协作过程。亲手解决防火墙、环境变量等实际问题,让我意识到理论与实践结合的重要性。

浙公网安备 33010602011771号