20252417 实验三《Python程序设计》实验报告
20252417 《Python程序设计》实验3报告
课程:《Python程序设计》
班级: 2524
姓名: 艾家程
学号:20252417
实验教师:王志强
实验日期:2026年4月27日
必修/选修: 公选课
1.实验内容
创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套接字(TCP/UDP)进行通信。
2. 实验过程及结果
一、局域网实现服务端和客户端通讯
1.使用pip安装cryptography

2.生成密钥
运行代码自动生成密钥,实验中采用预设的 Fernet 密钥,服务端和客户端共用同一密钥

3.服务端代码

4.客户端代码

5.服务端界面
启动后显示“等待客户端连接”,连接成功后实时打印客户端发来的明文与密文
生成 server.txt和 client.txt,保存双方聊天记录。
双方能够正常收发消息,exit有效。


6.客户端界面
连接成功后即可输入消息,界面显示发送的明文、密文及服务端返回的信息
双方能够正常收发消息,exit有效。


生成 server.txt和 client.txt,保存双方聊天记录。


7.代码托管到gitee

二、使用LLM生成一个带图形界面的程序
1.关键代码的功能和使用方法
1.密钥处理:自动生成/读取chat_key.key文件,双方用同一个“钥匙”加密解密,不用手动改代码。
2.网络连接:选“服务端”或“客户端”,填对方IP和端口,点“启动”就连,后台自动接消息。
3.加密传输:发消息时自动把文字转成乱码传,收到后自动还原成明文,同时留明文和密文记录。
4.聊天存档:自动把发的/收的消息存到server_chat.txt或client_chat.txt,不用手动保存。
2.生成程序的优点
1.好上手:图形界面点点就行,不用敲命令,适合新手。
2.够安全:用现成加密库,密钥存在本地,不会随便泄露。
3.功能全:明文密文一起看,聊天自动存,刚好满足实验要求。
3.运行过程和结果截图
过程

结果


4.代码托管到gitee

三、华为云服务器实现服务端和客户端通讯
1.配置安全组规则

2.配置虚拟环境,安装cryptography

3.启动服务端,用本地客户端连接
服务端界面

客户端界面

事实证明,不要用端口4444,不要用端口4444,不要用端口4444!!!!!!!
高危端口,华为云直接给我拦截了,我排查了半天!!!!
3. 实验过程中遇到的问题和解决过程
- 问题1:端口不能随便选,尤其是4444
- 问题1解决方案:换了别的端口
- 问题2:无法连接服务器
- 问题2解决方案:关掉防火墙
- 问题3:无法ping到服务器
- 问题3解决方案:安全组开放ICMP
其他(感悟、思考等)
端口不能随便选
防火墙一定要关
(云服务器忙活了半天就上传了两张图)

浙公网安备 33010602011771号