20253318刘培德 实验三《Python程序设计》实验报告

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

课程:《Python程序设计》
班级: 2533
姓名: 刘培德
学号: 20253318
实验教师:王志强
实验日期: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. 实验过程及结果

(要求一做了两次,一次与20253320蒋丰任,这次不含有文件操作;另一次与20253407吴家豪,这次是包含文件操作)

要求一中由20253320蒋丰任和20253318刘培德共同完成的(无文件操作)

2.1.1.1要求一功能实现截图

1a10b78122043e58b5fb9e58188fb850
2a39f29b2142bc50deef167c589118c5

2.1.1.2要求一程序代码gitee托管网站

https://gitee.com/liu-peide/autumn-wind-sadness-fan/blob/master/server.py
https://gitee.com/liu-peide/autumn-wind-sadness-fan/blob/master/socke.py

要求一由20253318刘培德和20253407吴家豪共同完成的(有文件操作)

2.1.2.1要求一功能实现截图

客户端

be41e3845812599dee24934d5d1b1508

服务端

5baaad23a4b7ffd76a552f49c7165b52

2.1.2.2要求一代码

b69bd95ae9ca4ae714dcf22b0509e0be
7083925bc5e2c2705499814d147a184a

其中与文件操作有关的代码4e9227450652d90dc5657b5a2a4eb28d

2.1.2.3要求一程序代码gitee托管网站

https://gitee.com/liu-peide/autumn-wind-sadness-fan/blob/master/serverwenjian.py
https://gitee.com/liu-peide/autumn-wind-sadness-fan/blob/master/sockewenjian.py

2.2.1要求二功能实现截图

(本次是与20253407吴家豪一起进行)

作为用户端
7be8ff05ff5ef20284e5ec196720472e
作为服务器
b047d138fc25f397ba5cab3da460a162

2.2.2分析关键代码的功能和使用方法

加密解密模块

程序实现了基于凯撒密码的简单加密算法,加密时将每个字符的ASCII码向后移动5位,解密时向前移动5位。这个加密模块在发送消息时自动调用,用户无需手动操作,系统会自动对发出的消息进行加密,对收到的消息进行解密。这种设计让用户在使用过程中完全感知不到加密过程,但又能通过界面上显示的明文和密文对照来理解加密原理。

网络通信模块

程序支持两种网络角色:服务端和客户端。服务端功能会创建一个TCP套接字,绑定到指定端口并开始监听,等待客户端连接。客户端功能则是主动连接到指定IP和端口上的服务端。两者建立连接后,会创建一个独立的线程专门负责接收消息,这样就不会阻塞用户界面的其他操作。通信采用TCP协议保证可靠传输,每次发送和接收的数据大小为1024字节。

图形界面模块

界面主要分为四个区域:网络配置区域用于输入IP和端口;消息显示区域以滚动文本框展示聊天记录,同时显示明文和密文对照;发送区域提供输入框和发送按钮;工具栏包含保存聊天记录功能。用户可以在这里输入消息、查看历史记录、保存对话内容。

使用方法

使用该程序时,首先需要在其中一台电脑上点击"启动服务端"按钮,输入端口号开始监听。然后在另一台电脑上输入服务端的IP地址和相同端口号,点击"连接服务端"。连接成功后,双方就可以在输入框中输入文字,按回车键或点击"发送"按钮进行通信。所有发送的消息会自动加密,收到的消息会自动解密。聊天过程中可以随时点击"保存聊天记录"按钮,将对话内容保存到本地文本文件中。

2.2.3分析生成程序的优点

1.程序采用图形化界面而非命令行。用户不需要记忆任何命令,只需点击按钮就能完成所有操作。聊天记录中同时显示明文和密文对照,并带有时间戳,方便追溯和对比。
2.不仅实现了基本的通信功能,而且可以保存聊天记录,符合用户的使用需求,也按照qq微信程序用户的使用习惯

2.2.4要求二程序代码gitee托管网站

https://gitee.com/liu-peide/autumn-wind-sadness-fan/blob/master/serverLLM.py

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

  • 问题1:和小伙伴联机总是连不上
  • 问题1解决方案:检查网络是否同一个,ip地址是否更改,防火墙是否关闭
  • 问题2:ai生成的代码太长还看不懂
  • 问题2解决方案:让ai重新写一个注释

其他(感悟、思考等)

利用LLM所生成的代码有些功能并不是我想要的,而且所生成的代码功能越多,出bug的可能就越大,这样就会花费跟长的时间,不如在生成代码之前就将要求提清楚。

参考资料

posted @ 2026-05-07 12:01  秋风悲扇L  阅读(16)  评论(1)    收藏  举报