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

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

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

1.实验内容

创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套接字(TCP/UDP)进行通信。
(1)创建服务端和客户端,选择一个通信端口,用Python语言编程实现通信演示程序;
(2)包含文件的基本操作,例如打开和读写操作。

2. 实验过程及结果

在本次实验中,我和20244108方昱霖同学轮流作为服务端和客户端,相互配合进行对话。
(1)首先,我构建服务器端,用import导入socket模块,创建套接字。

(2)在电脑的控制面板中查看本机IP地址,绑定IP地址“172.16.177.146”;再设置端口号“8888”;通过bind函数将socket绑定到上述IP地址和端口。
设置监听连接,并且显示“服务器正在监听”。

(3)使用“while”语句构建循环体系,使服务器能够不断地接受客户端的连接请求,从而实现服务器与客户端的多次对话。在程序中,我使用了utf-8编码传输内容,对通讯字数作出了限制——如果通讯字数大于1024,则通讯中断。然后,通过编写程序,使得客户端连接到服务器时,服务器可以显示客户端的IP地址并显示客户端所发送的内容,并提示“请输入要发送给客户端的消息”。在服务器输入消息并发送,客户端即可收到来自服务器的消息。

(4)最后编写程序,使得客户端信息传输完毕后,关闭套接字,中断服务器与客户端的连接。

(5)程序编写完成后,对整个程序的代码进行检查,完整代码如下:

(6)随后,我按照与构建服务器大致相同的步骤构建客户端。首先,用import导入socket模块,创建套接字。

(7)编写代码,使客户端可以连接到指定服务器,从而实现客户端与服务器之间信息的传输与接收。由于在服务器与客户端的对话中,通常是客户端先发送消息,所以我在此处通过编写代码给予客户端相应提示——“请输入要发送给服务器的消息”。然后,运用while函数,使得客户端与服务器之间能够实现循环对话,一轮对话完成后,若在客户端输入Y,则可进行下一轮对话,若在客户端输入N,则对话终止,程序结束运行。

(8)最后关闭套接字,客户端构建完毕。

(9)仔细检查代码,客户端完整代码如下:

(10)同时运行服务器与客户端,尝试进行对话。


程序运行正常,可以正常进行对话、重复对话、结束对话。

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

  • 问题1:程序报错 ,无法运行。
  • 问题1解决方案:仔细检查代码,与同学沟通,发现是由于对于socket函数等新知识不熟悉导致部分代码输入错误,部分缩进及字符输入错误。
  • 问题2:客户端与服务器无法连接。
  • 问题2解决方案:通过与同学交流,发现是由于两台电脑连接了不同的网络,导致客户端与服务器无法连接。

其他(感悟、思考等)

通过本次实验,我了解到了许多新的Python相关知识如socket函数。由于对socket函数不熟悉,使得我在实验过程中遇到了很多困难,感觉有些无从下手,后经过与同学的交流探讨,我成功完成了本次实验,实现了客户端与服务器之间的对话,当我和同学的客户端与服务器终于成功连接时,我感受到了Python实验所带给我的大大的成就感。同时,我再一次被Python强大的功能震撼,仅通过编写几行代码,就可以实现客户端与服务器之间的对话。在今后的学习中,我要多多探索Python的知识,争取能够掌握更多知识,提升自己使用Python的能力,同时,在以后的实验中,我也要始终保持严谨细致的态度,争取在之后程序的编写中犯更少的小错误~

参考资料

《零基础学Python》

posted @ 2025-04-18 19:27  高睿晗  阅读(24)  评论(0)    收藏  举报