当前位置: 首页 > news >正文

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

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

课程:《Python程序设计》
班级: 2324
姓名: 孙鸿淼
学号:20232415
实验教师:王志强
实验日期:2026年4月27日
必修/选修: 公选课

1.实验内容

创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套接字(TCP/UDP)进行通信。

要求一:

  • (1)创建服务端和客户端,选择一个通信端口,用Python语言编程实现通信演示程序;
  • (2)要求发送方输入内容,加密后并传输;接收方收到密文并解密和显示。要求:发方和收方同时输出明文和明文。
  • (3)程序代码托管到码云。

要求二:

  • (1)分析关键代码的功能和使用方法
  • (2)分析生成程序的优点
  • (3)给出运行过程和结果截图
  • (4)程序代码托管到码云。

2. 实验过程及结果

(1)建立TCP Socket连接,服务端监听端口,客户端主动连接。
服务端:创建socket对象→绑定IP端口→监听→等待连接。

image

客户端:创建socket对象→主动连接服务端。

image

(2)集成 DES 对称加密算法
发送方:输入明文→调用xor_encrypt_decrypt加密→发送密文。

image

接收方:接收密文→解密→显示明文

image

(3)实现双向收发消息,服务端与客户端均可主动发送
通过 while True 循环,先收后发或先发后收交替执行。
双方都能输入消息并发送,也能实时接收对方消息。

image

 

image

 

(4)控制台同时输出明文+密文
接收时:打印对方明文+对方密文

image

 

发送时:打印自己明文+自己密文

image

 

(5)进行通信
队友:虚拟机win11
先启动服务端,再启动客户端进行连接。

image

 

image

(7)LLM生成一个带图形界面的程序

image

加密函数

image

 功能:

使用异或加密,对发送 / 接收的数据进行加密和解密。

GUI

self.log = 显示聊天记录

self.start_btn = 启动/连接按钮

self.chat_area = 滚动文本框,显示明文

生成程序的优点

带图形界面,操作简单直观
不用命令行就能连接、发送消息
实现加密通信,数据更安全
使用异或加密传输,避免明文直接暴露在网络中
双向实时聊天
服务端与客户端可以互相发送、接收消息

(8)将程序上传

image

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

  • 问题1:客户端连接被拒绝
  • 问题1解决方案:客户端绑定的IP地址修改为服务端IP

其他(感悟、思考等)

本次 Socket 通信实验,让我对网络通信的底层逻辑有了直观认识。从服务端与客户端的连接、数据加密传输,到解决连接被拒绝的报错,我不仅掌握了 Python Socket 编程的基础用法,也体会到了按流程排查问题的重要性。同时,图形界面的实现也让我理解了代码与用户交互的结合方式。这次实验不仅提升了我的编程实践能力,也让我对网络编程的严谨性有了更深的理解。

http://www.jsqmd.com/news/796454/

相关文章:

  • 链式调用与组合:用 Chain 构建复杂业务逻辑
  • eNSP综合实验避坑指南:搞定VRRP主备切换、STP环路与NAT配置的那些细节
  • Pyrosim实战:用FDS模拟隧道火灾,从网格划分到结果可视化的保姆级避坑指南
  • 可靠性工程师选型参考:寿命加速分析软件有哪些支持Weibull与加速寿命建模
  • League Akari技术架构解析:基于LCU API的英雄联盟客户端自动化工具实现
  • 保姆级教程:用TwinCAT 3.1连接台达ASD-A2-E伺服,5分钟搞定电机正反转调试
  • 2026年无机纤维喷涂优质厂家推荐指南 廊坊锦茂节能科技有限公司优选 无机纤维喷涂/无机纤维喷涂施工 - 奔跑123
  • 别再纠结了!KVM虚拟化实战:RAW和QCOW2磁盘格式到底怎么选?附qemu-img保姆级操作指南
  • 从混淆矩阵到AUC:深入解析分类模型核心评估指标的内在联系与实战选择
  • Python全栈进阶:从基础语法到FastAPI后端与AI集成实战
  • 图像二值化避坑指南:Bayer规则抖动 vs. 误差扩散,到底该选哪个?
  • 2026 四川窗帘厂家甄选 卷帘百叶帘与电动遮阳帘实力参考 - 深度智识库
  • Cadence EXT151 QRC集成实战:从零到一构建寄生参数提取环境
  • 自托管开源敏捷回顾看板Retro Board部署与团队实践指南
  • 告别ifconfig:用ubus命令玩转OpenWrt网络接口(netifd实战指南)
  • 基于模型的测试在汽车行业的应用
  • 抖音无水印下载终极指南:3种高效方法解决你的内容保存难题
  • Waymo数据集实战:从TFRecord到KITTI格式的激光点云与标签转换
  • 从零构建:使用PCL库高效加载与可视化PLY点云数据
  • 从《深入理解Java虚拟机》到GraalVM:一个Java老兵的十年技术观察与实战避坑指南
  • 别再死记硬背了!用Python模拟一个最简单的图灵机,5分钟搞懂计算本质
  • 告别软件模拟!用STM32CubeMX和HAL库的硬件IIC驱动AT24C02,实测避坑指南
  • 3分钟掌握Linux桌面便签神器:Sticky让你的数字工作台效率翻倍!
  • 从富士康美国LCD工厂项目看高端制造业全球布局的挑战与博弈
  • 泉州上门回收黄金电话 中山路西街五店市免费鉴定评估,top3闪明钻/翩环/谷顾 - 李甜岚
  • 记忆机制深入:对话状态管理与持久化
  • STM32F103RCT6驱动SG90舵机避坑指南:从PWM配置到供电不稳的5个实战问题
  • 从静电威胁到电路卫士:TVS选型实战与PCB防护布局
  • 不止于解题:用Python脚本自动化处理SSRF中的Gopher与Redis协议Payload
  • BaiduPCS-Web技术解析:基于Vue.js的百度网盘下载加速方案