110
社区成员
发帖
与我相关
我的任务
分享课程:《Python程序设计》
班级: 2321
姓名: 李蕊伊
学号:20232121
实验教师:王志强
实验日期:2024年4月17日
必修/选修: 公选课
创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套接字(TCP/UDP)进行通信。
要求:
(1)创建服务端和客户端,选择一个通信端口,用Python语言编程实现通信演示程序;
(2)要求包含文件的基本操作,例如打开和读写操作。
(3)要求发送方从文件读取内容,加密后并传输;接收方收到密文并解密,保存在文件中。
(4)程序代码托管到码云。
注:在华为ECS服务器(OpenOuler系统)和物理机(Windows/Linux系统)上使用VIM、PDB、IDLE、Pycharm等工具编程实现。
要完成该实验,应写出两个python程序。一个作为服务端,另一个作为客户端。服务端需要监听某个端口,并处理来自客户端的请求。客户端则需要连接到服务端,发送文件内容,接收响应。
1.编写一个TCP服务器程序,监听在特定的端口(如8080)。程序应能接收客户端的连接请求,读取加密后的文件内容,解密后保存到本地文件。

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

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

作为客户端:

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