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

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

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

课程:《Python程序设计》
班级: 2432
姓名: 杨婕
学号:20243222
实验教师:王志强
实验日期:2026年5月10日
必修/选修: 公选课

1.实验内容

创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套接字(TCP/UDP)进行通信。
内容1:
(1)创建服务端和客户端,选择一个通信端口,用Python语言编程实现通信演示程序;
(2)要求发送方输入内容,加密后并传输;接收方收到密文并解密和显示。要求:发方和收方同时输出明文和明文。
(3)程序代码托管到码云。
(4)添加文件操作,有加分。(可选项)
内容2:使用LLM生成一个带图形界面的程序
(1)分析关键代码的功能和使用方法
(2)分析生成程序的优点
(3)给出运行过程和结果截图
(4)程序代码托管到码云。

2. 实验过程及结果

内容1:(1)我当服务端
image
image
image
(2)我当客户端
image
image
f964e1dfe983d6e8a514f1d6a0290374
(3)代码托管
21412793e7291f6b2221074324e109e6
内容2:(1)关键代码功能与使用方法
1.DES 加解密模块:采用 DES‑ECB 对称加密,8 字节固定密钥,通过encrypt()加密、decrypt()解密,Base64 编码防止传输乱码。使用方法:收发消息前调用对应函数加解密,两端密钥保持一致。
2.TCP 通信模块:服务端绑定 IP 端口并监听,客户端主动建立连接;send()发送密文,recv()接收数据。使用方法:先启动服务端监听,再运行客户端连接,实现双向通信。
3.多线程模块:使用子线程处理连接等待、消息接收,主线程负责界面交互,避免窗口卡顿。使用方法:后台运行网络任务,不影响 GUI 正常操作。
4.图形界面模块:包含日志显示框、消息输入框、功能按钮,实时展示明文、密文与时间。使用方法:点击按钮启动服务 / 连接,输入消息即可发送。
5.日志模块:自动添加时间戳,在界面实时记录通信信息,便于查看通信过程。
(2)程序优点
可视化交互,操作简单直观;多线程设计,界面流畅不卡顿,支持实时双向加密聊天;DES 加密传输,保障数据安全性,符合加密通信实验要求;添加日志操作功能。
(3)运行过程和截图
05a729bd8f4453171a6cb2735e00272e
(4)代码托管
21412793e7291f6b2221074324e109e6

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

  • 问题1:两台电脑无法正常传送消息

  • 问题1解决方案:询问老师后修改网关地址如图即可解决54ed14319fe61f60b863faeec85f8646

  • 问题2:服务端和客户端没有正常连接和发送消息,程序一开始运行就结束了

  • 问题2解决方案:逐行检查代码后发现服务端和客户端ip地址写错

其他(感悟、思考等)

本次 Socket 网络通信与加密传输实验的实验内容和计算机网络课程所学相互呼应,让我直观体会到不同学科知识的交叉融合。在动手实现消息加密传输、搭建服务端与客户端通信的过程中,我进一步掌握了python代码的写法。调试程序、排查网络连接问题的过程虽然有些繁琐,但也锻炼了我的耐心和排错能力,让我对网络通信原理和编程有了更加深刻的理解与思考。

参考资料

  • 自己写的服务端代码

  • 自己写的客户端代码

  • LLM客户端代码

  • LLM服务端代码

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

相关文章:

  • 2025最权威的AI辅助论文方案解析与推荐
  • SITS2026认证通道即将关闭(仅剩87个企业配额):附官方兼容性检测工具链v1.3.0速领
  • geoscore-mcp:基于MCP协议构建AI地理空间智能决策引擎
  • 告别随机生成!用Keras玩转CVAE:手把手教你生成指定数字的MNIST图片
  • sider_ai_api:一站式调用GPT-4o、Claude等主流AI模型的Python库实战
  • LAN Share:跨平台局域网文件传输技术实现详解
  • 04 Stage 模型、系统能力与数据架构
  • yuzu模拟器完整指南:免费在电脑上玩Switch游戏的终极教程
  • 从SD协议到FatFs:深入解析Block与Sector的映射关系及disk_ioctl实战指南
  • 缓存命中率从38%飙至91.6%,我们复刻了SITS大会TOP3团队的动态分片缓存方案,
  • 3步快速解决Windows和Office激活难题:KMS智能激活终极方案
  • 游戏地图开发者的利器:手把手教你用MapCutter为Unity/Web游戏制作无缝瓦片地图
  • 深度实战:如何用SpliceAI深度学习工具精准预测基因剪接变异
  • 观察大模型API调用延迟体验Taotoken全球直连网络的稳定性
  • 终极指南:如何用Ofd2Pdf轻松实现OFD转PDF的完整解决方案
  • 用DyberPet桌面宠物框架打造你的专属数字伙伴:从零开始的全新体验
  • 2026石英式动态称重传感器品牌推荐,广州晶石,一致好评的实力厂家 - 品牌速递
  • 从理论到实践:深入解析PnP算法及其在视觉SLAM中的应用
  • Navicat Mac版试用期重置终极指南:3种简单方法无限使用
  • 5款VeLoCity皮肤:让你的VLC播放器焕然一新的终极美化指南
  • 如何实现WPS与Zotero无缝对接:5个技巧让科研写作效率飙升
  • 通过终端命令行与OpenClaw AI助手控制特斯拉:自动化与能源管理实战
  • 别再只调API了!用C++和Tesseract 5.x实现一个带置信度过滤的OCR小工具
  • 3步快速解决Mac读写NTFS硬盘难题:Nigate免费工具终极指南
  • 5分钟快速上手:在Blender中使用3MF格式的完整指南
  • 亨得利深圳高端腕表抛光翻新全程实录:2026年官方售后网点深度测评与避坑指南(附全国授权门店地址) - 亨得利腕表维修中心
  • Faster-Whisper-GUI:免费开源的终极语音转文字工具,5分钟上手高质量音频转录
  • Awoo Installer深度解析:Switch游戏安装工具的技术原理与实战应用
  • 深度解析B站视频下载器:技术架构与实战应用指南
  • Oh My Zsh插件安装踩坑实录:手把手解决autojump在Mac和Ubuntu下的配置问题