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

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

课程:《Python程序设计》
班级: 2441
姓名: 方昱霖
学号:20244108
实验教师:王志强
实验日期:2025年4月15日
必修/选修: 公选课

1.实验内容

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

2. 实验过程及结果

实验要求

(1)创建服务端和客户端,选择一个通信端口,用Python语言编程实现通信演示程序;
(2)要求包含文件的基本操作,例如打开和读写操作。

实验过程

(1)首先构建服务器端。先导入socket函数并创建套接字。

(2)设置服务器和地址,IP地址为服务器所在电脑的IPV4地址。
同时,设置监听链接,此处设置监听次数为1,并提示“服务器正在监听”。
然后再进行代码构建,使服务器程序可以接受客户端的链接,并提示“接受来自 的链接”,此处会显示客户端的IP地址。

(3)使用“while”语句构建循环体系,使服务器能够不断地接受客户端的连接请求,并且根据客户端的需求做出不同的回应。
当客户端发来信息时,会出现“客户端说: ”的提示,随后可以在此处输入发送给客户端的信息,客户端那边将会收到相应的消息。

(4)在客户端信息传输完毕后,关闭套接字,结束服务器与客户端的连接。

(5)对服务器代码进行检查。完整代码如下所示:

(6)随后进行客户端的构建,过程与服务器基本相同。首先导入socket函数并创建套接字。

(7)构建代码使客户端能够链接到服务器。设置链接地址应为服务器的IPV4地址。
然后利用while和if语句构建循环,使得客户端能够不断向服务器发送消息,同时能够接收服务器发过来的消息。
接收到服务器消息时,会提示“服务器说: ”。
同时会跳出提示“是否继续Y/N?”,若是选择了Y则循环继续进行,客户端可以继续向服务器发送消息;选择了N则进程停止,退出循环。

(8)所有信息传输完毕后,关闭套接字。至此客户端已构建完毕。

(9)对客户端代码进行检查。完整代码如下所示:

实验结果

分别在服务器与客户端上运行代码。这里我与我的同桌高睿晗搭档,进行了一些简单的对话。
以下是我做服务器的时候:

以下是我做客户端的时候:

程序运行正常,服务器与客户端均能顺利传输及接收消息。

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

(1)客户端始终无法连接到服务器
解决方案:询问老师,发现是客户端与服务器不在同一局域网下。
(2)对socket模块不是很熟悉,构建服务器时无从下手。
解决方案:先参照老师给出的客户端代码尝试着进行构建,后来再次遇到困难时询问身边同学。
(3)程序报错无法运行。
解决方案:仔细检查了代码,发现忘记导入socket函数了。

其他(感悟、思考等)

(1)对Python的学习道阻且长,需要我们时时在意、常常思考,并且不断复习巩固已学过的知识;
(2)在实验的过程中,需要我们小心完成,注意各种细节,如标点符号和导入函数。同时还要具有耐心,不断在错误中改进自身,实现自我的发展进步;
(3)这次对socket的学习对我来说是一个全新的体验,通过几行代码就能实现两台机器的互通,进一步向我展示了Python的魅力。

参考资料

(1)https://blog.csdn.net/fuhanghang/article/details/114528098 关于socket技术的简介
(2)https://zhuanlan.zhihu.com/p/100151937 socket技术实例讲解
(3)https://blog.csdn.net/festaw/article/details/135730849 用socket技术构建服务器和客户端

posted @ 2025-04-17 21:49  20244108方昱霖  阅读(51)  评论(0)    收藏  举报