20252302 2025-2026-2 《Python程序设计》实验3报告
课程:《Python程序设计》
班级: 2523
姓名: 邢城瑜
学号:20252302
实验教师:王志强
实验日期:2026年4月27日
必修/选修: 公选课
1.实验内容
创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套接字(TCP/UDP)进行通信。
Part1:
(1)创建服务端和客户端,选择一个通信端口,用Python语言编程实现通信演示程序。
(2)要求发送方输入内容,加密后并传输;接收方收到密文并解密和显示。要求:发方和收方同时输出明文和明文。
(3)程序代码托管到码云。
Part2:使用LLM生成一个带图形界面的程序
(1)分析关键代码的功能和使用方法
(2)分析生成程序的优点
(3)给出运行过程和结果截图
(4)程序代码托管到码云。
2. 实验过程及结果
注:通信双方为20252302邢城瑜与20252329易锦辉
Part1:
(1)创建服务端和客户端(不加密),选择一个通信端口,用Python语言编程实现通信演示程序。
代码截图:
服务端代码:SocketServer

客户端代码:SocketClient

运行截图:
我作为服务端的运行截图

我作为用户端的运行截图

要点:在连接同一局域网的条件下,保证接口、子网掩码相同。
ping不成功可能只是因为没关防火墙,不影响通信实现。(我就在这里白忙活半天qwq)
(2)要求发送方输入内容,加密后并传输;接收方收到密文并解密和显示。要求:发方和收方同时输出明文和明文。
代码截图
服务端代码:SecretServer

客户端代码:SecretClient

运行截图:
我作为服务端的运行截图

我作为用户端的运行截图

(3)程序代码托管到码云。
常规提交之gitee代码仓库

提交成功

Part2:使用LLM生成一个带图形界面的程序
生成代码(部分)

(1)分析关键代码的功能和使用方法
1.界面框架用Notebook标签页将服务端/客户端分开,点击顶部标签切换。
2.服务端:选协议填端口,点“启动”。TCP用多线程接多个客户端;UDP直接收数据。
3.客户端:填IP/端口,选同协议,点“连接”。输入框打字按回车发送。
4.日志显示:用queue队列在子线程和主线程间传消息,保证界面不崩。
(2)分析生成程序的优点
1.不用装库:只用Python自带工具,直接运行。
2.两种协议:一键切换TCP/UDP,方便对比学习。
3.界面不卡:网络操作全放后台线程,拖动窗口、发消息互不影响。
(3)给出运行过程和结果截图
图形化界面(及通信测试)
客户端显示:

服务端显示:

(4)程序代码托管到码云。
老生常谈,推送过程

仓库查看

3. 实验过程中遇到的问题和解决过程
- 问题1:ping失败,无论使用公用wifi还是个人热点均失败。
- 问题1解决方案:没关防火墙导致ping失败,但实际上不影响使用程序通信,直接进入下一部就行。
其他(感悟、思考等)
1.某些系统自带安全机制会影响实验过程,某种意义上不能太怀疑自己的代码()。
2.LLM很强,图形化界面易用。
参考资料
- 我的gitee仓库
- 作业要求
