20244116 实验三《Python程序设计》实验报告
20244116 2024-2025-2 《Python程序设计》实验三报告
课程:《Python程序设计》
班级: 2441
姓名: 黎心睿
学号:20244116
实验教师:王志强
实验日期:2025年4月26日
必修/选修: 公选课
1.实验内容
(1)创建服务端和客户端,选择一个通信端口,用Python语言编程实现通信演示程序;
(2)要求包含文件的基本操作,例如打开和读写操作。
(3)要求发送方从文件读取内容,加密后并传输;接收方收到密文并解密,保存在文件中。
(4)程序代码托管到码云。
2. 实验过程及结果
先导入模块,然后创建套接字,接着通过connect连接服务端。运行时候两台机子要连一样的wifi。以下是具体程序:
紧接着,我和20244125魏怡彤同学相互配合,互相轮流作为服务端和客户端。先展示我作为客户端的内容。
编写客户端程序,使用 socket 库连接到指定服务端(('192.168.43.249', 8888)),实现数据发送与接收。
将上述代码保存为 client.py。在命令行中执行 python client.py。输入要发送的内容(如 嗨siri,今天天气怎么样),按回车发送。服务端会接收消息并提示输入回复,服务端回复后,客户端将显示回复内容。输入 exit,客户端将断开与服务端的连接。
然后展示我作为服务端的内容。
编写服务端程序,使用 socket 库绑定指定的 IP 地址('172.16.178.36')和端口(53235),监听客户端连接并实现数据的接收与回复。
将上述代码保存为 server.py。在命令行中执行 python server.py。服务端开始监听指定的 IP 地址和端口,等待客户端连接。当客户端连接到服务端时,服务端会显示客户端的地址信息。服务端接收到客户端发送的消息后,会在控制台显示该消息。此时,可以输入要回复客户端的消息,按回车键发送。当客户端主动断开连接时,服务端会关闭与该客户端的连接,并在控制台显示连接已关闭的信息。服务端会继续监听,等待新的客户端连接。
3. 实验过程中遇到的问题和解决过程
- 问题1:运行失败,发现是IP地址的错误。
- 问题1解决方案:询问了同学,发现是服务端与客户端填写的ip地址不同。查询作为服务端的计算机的ip地址,服务端和客户端的程序中都填写此ip地址。
- 问题2:仍然运行失败。
- 问题2解决方案:检查后发现服务端和客户端不在同一wifi下。
- ...
其他(感悟、思考等)
这次实验,我和同学用Python写了服务端和客户端程序,完成了网络通信、文件操作和加密传输的任务,还把代码传到码云存起来了。实验时,我俩分工合作,轮流当服务端和客户端。我当客户端时,能发消息给服务端,等对方回复;当服务端时,就守着程序等客户端连进来,收到消息再回消息。操作起来还挺有意思的。做完这次实验,我学到了好多新东西,像怎么用Python写网络通信的代码,怎么处理文件,还有加密解密的原理。遇到问题自己动手解决,这种感觉还挺有成就感的,也让我明白以后写程序得更细心才行。