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

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

20254125 2025-2026-2 《Python程序设计》实验3报告
课程:《Python程序设计》
班级: 2541
姓名: 祁芸萱
学号:20254125
实验教师:王志强
实验日期:2026年4月28日
必修/选修: 专选课
一、实验内容
创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套接字(TCP/UDP)进行通信。
每人必须做一次客户端和一次服务端,且要和队友(标注学号姓名)互相通信。
要求1:
(1)创建服务端和客户端,选择一个通信端口,用Python语言编程实现通信演示程序;
(2)要求发送方输入内容,加密后并传输;接收方收到密文并解密和显示。要求:发方和收方同时输出明文和明文;
(3)程序代码托管到码云;
(4)添加文件操作,有加分。(可选项)
要求2:使用LLM生成一个带图形界面的程序
(1)分析关键代码的功能和使用方法;
(2)分析生成程序的优点;
(3)给出运行过程和结果截图;
(4)程序代码托管到码云。
注:在华为ECS服务器(OpenOuler系统)和物理机(Windows/Linux系统)上使用VIM、PDB、IDLE、Pycharm等工具编程实现。
二、实验过程及结果
1.更改IP
将同伴和自己的电脑连上同一个网络,再将IP尾号改为为带有自己学号的尾号,并找到同伴(20254106谢林儒)。将自己的IP地址输入代码中,同时等待同伴端输入相同的IP地址。
·中间经历了非常多的曲折,很多次都连不上,要感谢dky最厉害的老师能解决任何疑难杂症,最后终于艰辛地连上了!
2.连接并传信
双方连接好后,先有服务端启动编程,在接收到等待客户端链接的指示后,由客户端的同学运行编程,即可显示连接成功,实现交流;
63b5e4ed169e587a240d4ded537231ba

9b6bd049ac3f1f0fddfc07f41e066727
3.使用LLM生成一个带图形界面的程序
注:在华为ECS服务器(OpenOuler系统)和物理机(Windows/Linux系统)上使用VIM、PDB、IDLE、Pycharm等工具编程实现。
(1)分析关键代码的功能和使用方法

604391340f229d1d9675b8e22cdfa369

345a843d0378a6f779eb3feb114468bb
(2)分析生成程序的优点
①服务端可直接参与聊天,不只是后台,还能发送消息,功能完整;
②结构清晰,服务端、客户端、主程序完全分开,易读、易改、适合学习;
③完善的异常处理与安全关闭,关闭窗口自动断开连接、停止服务,不会残留进程。
(3)给出运行过程和结果截图

33c5667389d88632211a9feb10365e9c

微信图片_20260511185150_3_2
三、实验过程中遇到的问题和解决过程
·问题1:电脑删除过上学期计算机基础课用过的虚拟机导致一直和同伴连不上。
·解决方案:求助了超级厉害的老师,在电脑上打了一堆我看不懂的东西,然后把IP地址改正确了。
·问题2:运行时和同伴遇到"积极拒绝"的情况。
·解决方案:关闭防火墙和联想电脑管家、腾讯电脑管家等的安全防护。

其他(感悟、思考等)
1.以前不好意思求助老师,也不太喜欢和老师交流问题,但王老师真的让我非常崇拜,能解决各种头疼的“疑难杂症”!
2.感觉代码非常神奇,让两台毫无关联的电脑可以相互传话,还有代码做不到的事吗!

参考资料
学习通《零基础学Python》教材

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

相关文章:

  • 单电源全范围线性斜坡发生器设计与优化
  • DIY红外热像仪进阶:手把手教你用C语言实现7种伪彩色编码(附完整代码)
  • 免费AI图像修复神器:让模糊照片瞬间变清晰的终极指南
  • Python地理空间数据处理技能库geoskills:简化GIS分析,提升开发效率
  • 逆向工程师的视角:如何用Windbg双机调试分析一个未知Windows驱动(实战案例解析)
  • 终极B站字幕提取工具:3分钟学会下载和转换CC字幕完整教程
  • [吾爱大神原创工具] 魔方逆向还原工具1.0
  • 用LangChain Tools打造会自主查资料的GPT模型
  • 紫光同创Logos系列FPGA实战:BGA封装PCB布局与Fanout布线避坑指南(附示意图)
  • 边缘计算实战:基于 Linux Netns 与标准海事网关抵御局域网横向攻击的物理隔离架构
  • 用LM4836功放芯片和NMOS管,手把手教你做个能‘侧放关机’的蓝牙音箱
  • STM32 USB DFU模式烧录全攻略:从Boot引脚设置到驱动安装避坑指南
  • 避开C2000开发第一个坑:TMS320F28069的InitSysCtrl()函数里,为什么ADC时钟要开一下又关?
  • 开源RISC-V软核NEORV32:从架构解析到FPGA实战开发指南
  • 【技术解析】方差分析:从统计表解读到业务决策的实战指南
  • 一套健康的 Python 测试体系,应该如何评估?
  • 从齿轮到传动:在Blender里用几何节点(Geometry Nodes)做个会转的齿轮组动画
  • NVIDIA Profile Inspector:解锁显卡隐藏性能的5个关键步骤
  • JSON数据同步利器:深度解析ogre-software/json-synchronizer的核心原理与应用
  • 实战:用Python的scipy和numpy搞定分数阶灰色模型(FGM),附完整代码和避坑指南
  • [Android] 哔哩哔哩第三方安卓电视TVapp BV_0.3.16.r898
  • CentOS 7 下 top 命令显示 si 等待过高如何定位磁盘 IO 问题?
  • Claude规则引擎:结构化提示词管理与Prompt Engineering实战
  • 有关认知感受的论文(娱乐)
  • 开源数据平台Athena-Public:从架构设计到部署运维全解析
  • 放弃编码器!纯靠MPU6050和PID算法,我的TT马达平衡小车也能稳如老狗(STM32实战)
  • AI Agent(智能体)的输出格式应该从 Markdown 转向 HTML吗?
  • TI FMCW毫米波雷达进阶:多普勒FFT与速度解模糊实战
  • CompressO:重新定义媒体文件压缩的自由与效率
  • AIGC检测原理是什么?为什么改稿没用?降AI工具是怎么工作的?