当前位置: 首页 > news >正文

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

20254304 2025-2026-2 《Python程序设计》实验3报告

课程:《Python程序设计》
班级: 2543
姓名: 田奇
学号:20254304
实验教师:王志强
实验日期:2026年4月27日
必修/选修: 公选课

1.实验内容

1.1 内容

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

1.2 要求

注意事项:
每人必须做一次客户端和一次服务端,且要和队友(标注学号姓名)互相通信。

要求1:
(1)创建服务端和客户端,选择一个通信端口,用Python语言编程实现通信演示程序;
(2)要求发送方输入内容,加密后并传输;接收方收到密文并解密和显示。要求:发方和收方同时输出明文和明文。
(3)程序代码托管到码云。
(4)添加文件操作,有加分。(可选项)

要求2:使用LLM生成一个带图形界面的程序
(1)分析关键代码的功能和使用方法
(2)分析生成程序的优点
(3)给出运行过程和结果截图
(4)程序代码托管到码云。
注:在华为ECS服务器(OpenOuler系统)和物理机(Windows/Linux系统)上使用VIM、PDB、IDLE、Pycharm等工具编程实现。

2. 实验过程及结果

本次实验由20254304田奇和20244305苏楠共同完成

>>>前置工作

查询并修改IP为自己的学号相关

屏幕截图 2026-04-27 203111

屏幕截图 2026-04-27 203045

>>>要求1

2.1.1 课上编写实验代码并运行

20244305做服务端,我做客户端:

代码截图如下:
屏幕截图 2026-04-27 202310
运行结果截图:
屏幕截图 2026-04-27 202319

20254304(我自己)做服务端:

代码截图如下:
屏幕截图 2026-04-27 203455
运行结果截图:
屏幕截图 2026-04-27 203422

2.1.2 文件操作结果

截图如下:
屏幕截图 2026-04-27 203921

屏幕截图 2026-04-27 203929

2.1.3 托管到码云

屏幕截图 2026-04-29 191254

屏幕截图 2026-04-29 191317

屏幕截图 2026-04-29 191526

  • Gitee仓库 自写代码1
  • Gitee仓库 自写代码2

>>>要求2:

2.2.1 课下使用LLM生成一个带图形界面的程序并运行(豆包)

20244305做服务端,我做客户端:

屏幕截图 2026-04-28 171706
屏幕截图 2026-04-28 171659

20254304(我自己)做服务端:

屏幕截图 2026-04-28 171801

2.2.2 分析关键代码的功能和使用方法(AI生成)

def init(self, root):
# 创建接收区文本框
self.receive_text = tk.Text(root, height=10, width=70)
# 创建发送区输入框
self.send_entry = tk.Entry(root, width=60, font=("微软雅黑", 12))
# 创建发送按钮
self.send_btn = tk.Button(..., command=self.send_msg)
# 自动连接服务器
self.connect_server()
功能:构建包含三个核心组件的GUI界面 使用:运行后自动连接服务器,无需手动操作

def connect_server(self):
self.client_socket = socket.socket()
self.client_socket.connect((HOST, PORT)) # TCP连接
threading.Thread(target=self.receive_msg, daemon=True).start() # 启动接收线程
功能:连接指定服务器,启动独立线程持续监听消息 使用:自动执行,用户无感知

2.2.3 分析程序优点

(1)相比较自写代码,有清晰的界面设计
(2)AES算法,端到端加密传输,便于验证。
(3)相比自写程序,流畅交互,防GUI卡顿,可以提升双方交流体验。

2.2.4 托管到码云

屏幕截图 2026-04-29 191856

  • Gitee仓库 AI代码1
  • Gitee仓库 AI代码2

>>>华为云上运行

屏幕截图 2026-04-29 211728

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

问题1:刚开始LLM(AI)给我生成的代码还不能运行

  • 解决方案:没有安装加密依赖库,在学长的帮助下,pycharm终端执行pip install pycryptodome,并补充代码文件

问题2:课上第一次实验时,改完手动IP浏览器用不了

  • 解决方案:改回自动IP

问题3:改IP为学号相关,这一过程中出现过服务端和客户端还是连不上的情况

  • 解决方案:检查所连网络与IP,还有是否在代码中更改相关内容

其他(感悟、思考等)

这次实验比前几次要难,我感受到要多学习补充一些知识,拓宽知识面

参考资料

http://www.jsqmd.com/news/721656/

相关文章:

  • 【AI面试临阵磨枪-30】如何设计 Agent 长短期记忆?对比 FullHistory、SlidingWindow、Summary、Vector 记忆
  • 智能客服语音合成优化:SOA架构与上下文感知实践
  • 数据中心RDMA网络实战:手把手教你配置PFC和ECN,搞定RoCEv2零丢包
  • Python实战:用gmssl库5分钟搞定SM2/SM3/SM4国密算法加密与签名
  • 如何在 Linux 服务器安装 claude code,并在 VSCode 里使用
  • 告别Abaqus脚本开发困境:5大方法让Python类型提示提升你的仿真效率 [特殊字符]
  • 35岁+突围计划3.0
  • 【AI面试临阵磨枪-029】什么是 Function Calling?与手动解析 LLM 输出的区别?
  • 如何用PowerToys中文版彻底改变你的Windows工作流:从效率瓶颈到生产力飞跃
  • 你的GPS定位漂移吗?基于STM32 HAL库的ATGM336H数据滤波与有效性判断实践
  • Gemma 4工具调用:Python实现大语言模型自动化任务处理
  • 终极破解工具:3步实现Cursor AI无限免费使用,告别API限制困扰
  • 构建情侣专属任务积分系统:从零实现微信小程序互动平台
  • 关于北理课程的反差错乱
  • 别再被‘Bad CRC-32’卡住了!PyTorch安装报错终极排查手册(附--no-cache参数详解)
  • 别再到处找资源了!JEDEC JESD22全套标准(含最新A118、B118)下载与分类管理指南
  • 基于模块化架构的AI应用后端开发:从向量检索到LLM编排的工程实践
  • SpringBoot项目里用Camunda 7.18搞流程审批?这份避坑指南和实战代码请收好
  • 10、 H桥电路与电机方向控制
  • 破解 AI 幻觉困局:Easysearch 以检索技术筑牢大模型“可信防线”
  • 别再被ModuleNotFoundError卡住!Python处理Excel文件,openpyxl、pandas、xlrd到底该用哪个?
  • 别再乱打光了!Blender 3.6+ 灯光保姆级设置指南:从环境光到IES遮罩,一次讲透
  • R语言偏见检测耗时超47分钟?用data.table+Rcpp无缝加速——3个编译级优化技巧让AUC偏差归因提速8.2倍
  • AI规则同步器:用代码管理思维统一多平台提示词与指令集
  • 避坑指南:在C# WinForm项目中使用NModbus4实现RTU从站时,这几个异步和资源管理问题你遇到了吗?
  • 别再死记硬背了!用这5个真实项目场景,彻底搞懂ESP8266 AT指令怎么用
  • 如何用猫抓资源嗅探工具彻底改变你的数字内容管理体验
  • 无人机视频处理挑战与GE ICS-8580多速率压缩方案
  • 终极指南:如何彻底解决Cursor API限制,实现无限免费使用Pro功能
  • 方阵贪吃蛇的必胜策略