20243422 2024-2025-2 《Python程序设计》实验三报告

课程:《Python程序设计》
班级: 2434
姓名: 余岢璇
学号:20243422
实验教师:王志强
实验日期:2025年4月16日
必修/选修: 公选课

1.实验内容与要求

创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套接字(TCP/UDP)进行通信。
(1)创建服务端和客户端,选择一个通信端口,用Python语言编程实现通信演示程序;
(2)要求包含文件的基本操作,例如打开和读写操作。
(3)要求发送方从文件读取内容,加密后并传输;接收方收到密文并解密,保存在文件中。
(4)程序代码托管到码云。

2. 实验过程及结果

(1) 使用pip install pycrypto配置环境
已配置成功:
(2) 代码一(实现文件传输与加密解密)
创建服务端发送文件,将ip端口设置为8888

发送文件函数,将文件进行加密之后发送加密文件,设置异常处理

创建客户端实现通信,接收端端口同样为8888

打开加密文件并解密

(加密解密函数)使用decode("utf-8")解码字节数据

代码二:实现通信功能
服务端

客户端

(3) 运行结果如下(注:此结果为多个代码的运行结果)
实现通信:


实现加密解密与文件传输:

(4) 将代码推送至gitee
服务端:https://gitee.com/uunnnn/gitee/commit/6a7872eade3e8009decdff197de1fad5b48f0200
接收端:https://gitee.com/uunnnn/gitee/commit/99630b5e31d770e6fb88fedebd16a85496ce9fe5
(5)拓展
使用广域网通信


结果:

在www.natfrp.com上创建了隧道,将主机地址映射到广域网上,实现通信

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

  • 问题1:在通信的过程中,无法通信
  • 问题1解决方案:ip地址填错了,并且两个电脑应该连同一个热点,ip地址应该是热点的IPV4
  • 问题2:在执行pip install pycrypto后还是没有crypto库
  • 问题2解决方案:询问老师,发现crypto安装到了12版本的pycharm上,但是用是13版

其他(感悟、思考等)

感悟:socket通信使不同设备之间进行连接交流,在接通的那一刻有强烈的成就感。
这次实验也是我学习网络编程的起点和初次实验,为后来的学习奠定基础。

posted @ 2025-04-21 22:43  uunn  阅读(37)  评论(0)    收藏  举报