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

20244305 2025-2026-2 《Python程序设计》实验三报告

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

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

1.实验内容

(一)实验内容
创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套接字(TCP/UDP)进行通信。
(二)实验要求
注意事项:
每人必须做一次客户端和一次服务端,且要和队友(标注学号姓名)互相通信。
要求1:
(1)创建服务端和客户端,选择一个通信端口,用Python语言编程实现通信演示程序;
(2)要求发送方输入内容,加密后并传输;接收方收到密文并解密和显示。要求:发方和收方同时输出明文和明文。
(3)程序代码托管到码云。
(4)添加文件操作,有加分。(可选项)

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

2. 实验过程及结果

要求一:
(1)自主编写的服务端程序
屏幕截图 2026-04-27 203049
自主编写的客户端程序
屏幕截图 2026-04-27 203123

运行结果 本次实验由20244305苏楠和20254304田奇共同完成
20244305作为服务端
屏幕截图 2026-04-27 202729
20244305作为客户端
屏幕截图 2026-04-27 203429
文件操作为将聊天记录写入文件
image

(2)用豆包生成的程序
服务端
image
image

客户端
image
image

分析:
Socket通信代码:TCP 协议保证数据稳定传输,端口8888为通信通道。
多线程代码:界面主线程负责显示,子线程负责监听 / 接收消息,防止界面卡死。
GUI:可视化操作,无需命令行,萌新易上手。

加密程序
image
分析:实现 AES 对称加解密,保证传输数据不可直接读取;Base64 编码解决二进制数据传输乱码问题。

运行结果
20244305作为服务端
屏幕截图 2026-04-28 171653

20244305作为客户端
屏幕截图 2026-04-28 171759

与我写的程序相比:
豆包的程序更加美观和便利,有独特的界面,用户友好;
豆包采用AES-128-CBC工业级加密算法,网络传输的是密文,安全性高;
豆包的程序多线程设计,界面和通信互不干扰,稳定性更好。

(3)在华为云服务器上执行代码
服务端
image
客户端
image

(4)将代码托管到Gitee上
代码地址- 实验三《Python程序设计》服务端代码
image

代码地址- 实验三《Python程序设计》客户端代码
image

代码地址- 实验三《Python程序设计》LLM服务端代码
image

代码地址- 实验三《Python程序设计》LLM客户端代码
image

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

  • 问题1:看不懂豆包写的代码
  • 问题1解决方案:让豆包为我解释每一行代码的作用和原理。
  • 问题2:起初无法运行
  • 问题2解决方案:询问豆包得知没有安装加密依赖库,得到命令行,打开终端输入就解决了问题。

其他(感悟、思考等)

要学习和安装一些python的依赖库,避免无法运行。
学会命令行的使用可以便捷很多。

参考资料

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

相关文章:

  • 告别手动解析!用Python+Tree-sitter快速提取5种编程语言的AST(附完整代码)
  • ChatGPT-Next-Web-PLUS部署指南:从流程编排到知识库集成的企业级AI应用搭建
  • 告别安装失败!Windows 10/11 保姆级MySQL 8.0.12安装与配置全流程(含常见错误排查)
  • 告别重复操作:用CST历史记录一键生成你的专属宏(Macro),提升仿真工作流
  • BetterNCM插件管理器深度解析:Rust技术栈构建的网易云音乐终极增强方案
  • 保姆级教程:用Docker Compose在群晖NAS上5分钟搞定FileRun私有网盘(附中文汉化包)
  • 告别记事本!用GVim和Vundle插件管理器打造你的Windows专属代码编辑器(附完整_vimrc配置)
  • STAR加速器:优化LLM自注意力计算的高效方案
  • MIUI升级后录音神秘消失?别慌,手把手教你从Android/data里找回宝贵录音文件
  • 一键智能配置:OpCore Simplify让黑苹果EFI创建变得前所未有的简单
  • Windows文件资源管理器如何为STL文件添加缩略图预览?
  • HTML打包EXE安装包配置教程 - 自定义安装目录和桌面快捷方式名
  • 【Docker WASM边缘部署终极指南】:20年架构师亲授5大避坑法则与3个生产级实战案例
  • 深入对比:STM32读取TM7711与HX711两款24位ADC芯片,到底该怎么选?
  • 告别网盘龟速下载:八大平台直链解析工具完全指南
  • 7个实用解决方案:快速解决Pixelle-Video TTS语音生成失败问题
  • HarmonyOS 6学习:RCP远场通信流式返回实战——告别“一次性”数据阻塞
  • CF1444E Finding the Vertex 题解
  • Steam游戏清单一键获取:Onekey自动化工具的完整使用指南
  • 别再只盯着CLIP了!从BLIP到InstructBLIP,手把手教你选对VLM模型做项目
  • 图像修复的“乐高”哲学:深入浅出解读Plug-and-Play与深度去噪先验(DPIR)如何改变游戏规则
  • 告别数据标注!用PyTorch手把手实现对比学习(附完整代码与数据增强技巧)
  • 长尾关键词如何优化以提升SEO排名和吸引目标流量
  • QtScrcpy不只是投屏:我如何用它批量管理16台测试机,提升Android开发效率
  • 2026年国内无人机巡检厂家,无人机自动巡检/室内无人机机库/室外无人机自动巡检/无人机巡检,无人机巡检源头厂家哪家强 - 品牌推荐师
  • LLM智能代理安全风险与多代理系统优化实践
  • 深度解析HelloWord-Keyboard:打造终极模块化机械键盘的完整方案
  • 5个关键问题:如何用llama-cpp-python构建高效AI应用?
  • 告别‘滋滋声’:手把手教你用WebRTC NS模块优化Android录音音质(附PCM文件对比)
  • DP1.2链路层避坑指南:搞懂VB-ID、Mvid和那些控制符号,解决黑屏/花屏问题