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

课程:《Python程序设计》
班级: 2522
姓名: 冉云天
学号:20252223
实验教师:王志强
实验日期:2026年4月27日
必修/选修: 公选课

1.实验内容

要求1:

(1)创建服务端和客户端,选择一个通信端口,用Python语言编程实现通信演示程序;

(2)要求发送方输入内容,加密后并传输;接收方收到密文并解密和显示。要求:发方和收方同时输出明文和明文。

(3)程序代码托管到码云。

(4)添加文件操作,有加分。(可选项)

要求2:使用LLM生成一个带图形界面的程序

(1)分析关键代码的功能和使用方法

(2)分析生成程序的优点

(3)给出运行过程和结果截图

(4)程序代码托管到码云。

2. 实验过程及结果

服务端运行逻辑

创建 TCP 套接字并监听指定端口,等待客户端连接。
接受客户端连接后,进入循环通信状态。
接收客户端发来的密文,解密后在终端显示密文和对应的明文,使用凯撒密码。
若收到明文为 "exit",结束通信;否则将明文保存到文件。
输入要回复的消息,加密后在终端显示明文和密文,然后发送给客户端。
重复上述收发过程,直到退出循环,最后关闭连接。

本人学号:20252223
队友学号:20252201

32d390ce1e20368748db8f13827a13d8

客户端运行逻辑
创建 TCP 套接字并连接服务端。
输入要发送的消息,加密后在终端显示明文和密文,然后发送给服务端。
若发送的消息为 "exit",结束通信。
接收服务端返回的密文,解密后在终端显示密文和对应的明文,使用凯撒密码。
若服务端返回 "exit",结束通信;否则将明文保存到文件。
重复上述收发过程,直到退出循环,最后关闭连接。

屏幕截图 2026-04-28 102703
.
.
.
文件操作保存通信内容到receive.txt:

image
image

LLM结果

Socket 模块实现 TCP 连接与数据传输;凯撒加密函数完成明密文转换;tkinter 构建图形界面用于输入输出;多线程处理接收数据,防止界面卡死;通过按钮触发发送,实现双方通信并显示明文和密文。
采用 GUI 界面,操作简单直观;结合加密技术,保障通信安全;多线程设计避免程序假死;结构清晰,易于理解和扩展;仅使用 Python 标准库,无需额外安装依赖,具有良好的移植性。

image

gitee托管( https://gitee.com/rytll/python-homework
image

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

  • 问题1:两台电脑间无法连接通信,每次都提示无法连接服务器
  • 问题1解决方案:关闭防火墙,另外把网络模式改为公用网络。
  • 问题2:加密不会,又不想用ai来写加密代码
  • 问题2解决方案:用简单的凯撒加密,通过移动错位位置,实现加密的效果
  • ...

其他(感悟、思考等)

socket真好用,太好用了。几行代码就可以实现通信,,难怪套接字可以作为现代通信的底层基础,虽然套接字所需要的协议很难学习,但是用python就可以忽略底层逻辑,用短短几行代码就可以建立、监听、连接其他人的电脑,实现点对点通信,太刺激了。

参考资料

posted @ 2026-04-28 11:06  20252223  阅读(18)  评论(0)    收藏  举报