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

20232121李蕊伊 2024-04-23 22:00:29

20232121 2022-2023-2 《Python程序设计》实验x报告

课程:《Python程序设计》
班级: 2321
姓名: 李蕊伊
学号:20232121
实验教师:王志强
实验日期:2024年4月17日
必修/选修: 公选课

1.实验内容

创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套接字(TCP/UDP)进行通信。
要求:
(1)创建服务端和客户端,选择一个通信端口,用Python语言编程实现通信演示程序;
(2)要求包含文件的基本操作,例如打开和读写操作。
(3)要求发送方从文件读取内容,加密后并传输;接收方收到密文并解密,保存在文件中。
(4)程序代码托管到码云。
注:在华为ECS服务器(OpenOuler系统)和物理机(Windows/Linux系统)上使用VIM、PDB、IDLE、Pycharm等工具编程实现。

2. 实验过程及结果

要完成该实验,应写出两个python程序。一个作为服务端,另一个作为客户端。服务端需要监听某个端口,并处理来自客户端的请求。客户端则需要连接到服务端,发送文件内容,接收响应。
1.编写一个TCP服务器程序,监听在特定的端口(如8080)。程序应能接收客户端的连接请求,读取加密后的文件内容,解密后保存到本地文件。

img

2.在华为ECS服务器或物理机上运行服务端代码,确保服务端程序正在监听端口。
3.编写一个TCP客户端程序,该程序能够连接到服务器,读取本地文件内容,进行加密,然后发送给服务器。

img

4.在另一台机器(可以是另一台物理机或虚拟机)上运行客户端代码,确保客户端能够连接到服务器。
5.客户端成功连接到服务器,并发送了文件内容。
服务器成功接收到文件内容,保存到本地文件,文件内容完整无误。
客户端和服务器在通信过程中未出现明显的错误或异常。

作为服务端:

img

作为客户端:

img

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

  • 问题1:两台电脑难以连接
  • 问题1解决方案:确保两台电脑输入ip地址与端口相同,在同一局域网内,让服务端先运行。同时确保服务器和客户端之间的网络连接是通畅的,没有防火墙或安全组规则阻止TCP通信。并确保所选的端口没有被其他应用程序占用,并且服务器的防火墙设置允许该端口的入站连接。
  • 问题2:电脑ip地址不详
  • 问题2解决方案:可以按下Win键+R键,输入“cmd”后按回车键,在命令提示符窗口中输入“ipconfig”命令,查看“IPv4 地址”后面的数字,这就是你的公网IP地址。

其他(感悟、思考等)

通过这次试验,我更深入的了解了socket相关知识,包括如何创建socket对象、绑定地址和端口、监听连接、接收和发送数据等。通过实践,我逐渐掌握了该实验的基本流程和关键细节。这次实验是两台电脑连接交流的基本操作,也更让我明白了网络编程的复杂性,过程中也产生了很多问题,但通过我与合作同伴的交流与协作也克服了很多困难。这也让我明白了团队合作的重要性。

参考资料

...全文
52 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

110

社区成员

发帖
与我相关
我的任务
社区描述
人生苦短,我用Python!
python3.11 高校
社区管理员
  • blackwall0321
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧