202524032025-2026-2 《Python程序设计》实验三报告

20252403 2025-2026-2 《Python程序设计》实验三报告

课程:《Python程序设计》
班级: 2524
姓名: 李俊江
学号:20252403
实验教师:王志强
实验日期:2026年4月27日
必修/选修: 公选课

1.实验内容

  1. 使用 Python 的 socket 模块编写 TCP 服务端和客户端程序,实现基本的一对一双向聊天。
  2. 对聊天程序添加 SSL 加密,实现网络传输数据的机密性。
  3. 使用大语言模型生成带有图形交互界面的程序。
  4. 将程序部署到华为云 openEuler 服务器上,实现公网环境下的加密聊天。

2. 实验过程及结果

2.1 基本 Socket 通信的实现

2.2 SSL/TLS 加密

  • 使用 Python 内置的 ssl 模块,引入自签名证书。
  • 通过 openssl 命令生成密钥,实现从客户端到服务端的加密通讯。
    运行图片:python – C__Users_18834_OneDrive_xwechat_files_wxid_4ycm74dpo3cf22_c106_msg_attach_f83ce73edc728b6f9e51b518aab46f2f_2026-04_Rec_674e969550b5db9b_F_1_SockeServer.py 2026_5_9 15_22_44
    python – 大模型客户端.py 2026_5_9 16_09_17

2.3 图形化界面设计

  • 使用大语言模型,为代码添加带有图形交互界面的程序。
    运行图片:
    凯撒聊天客户端(偏移量=3) 2026_5_9 15_30_07
    凯撒聊天服务端(偏移量=3) 2026_5_9 15_29_17

2.4 云服务器部署

  • 将服务端代码上传至华为云 openEuler 服务器,修改监听地址为 0.0.0.0
  • 添加安全组,开放8888 端口,关闭防火墙。
    运行图片:
    服务端代码错误修正 - DeepSeek 和另外 14 个页面 - 用户配置 1 - Microsoft​ Edge 2026_5_9 16_13_58

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

  • 问题1:客户端代码启动后,出现ConnectionRefusedError: [WinError 10061]报错
  • 问题1解决方案:服务端应当先于客户端启动,服务端启动成功后再启动客户端。
  • 问题2:云服务器启动后未收到客户端信息
  • 问题2解决方案:服务器未开放对应端口,重新设置安全组,添加0.0.0.0地址和8888端口

其他(感悟、思考等)

通过本次实验,我系统掌握了 Python 网络编程的基本模型,理解了 TCP 通信中客户端与服务端的不同作用。
通过引入ssl加密,深化了对网络空间安全相关技术的运用能力。

posted @ 2026-05-09 16:21  hantou1  阅读(15)  评论(1)    收藏  举报