20244127王晓凤 实验三《Python程序设计》实验报告
课程:《Python程序设计》
班级: 2441
姓名: 王晓凤
学号: 20244127
实验教师:王志强
实验日期:2025年4月16日
必修/选修: 公选课
(一)实验内容
创建服务端和客户端,服务端在特定端口监听多个客户请求。

客户端和服务端通过Socket套接字(TCP/UDP)进行通信。

(二)实验过程
(1)首先构建服务器端,用import导入socket模块,创建套接字。

(2)在电脑的控制面板中查看本机IP地址,绑定IP地址。
设置监听连接,并给予相关提示“服务器正在监听”。
构建代码,使客户端通过输入服务器的IP地址和端口与服务器完成对接

(3)使用“while”语句构建循环体系,使服务器能够不断地接受客户端的连接请求。

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

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

(6)随后构建客户端。首先,用import导入socket模块,创建套接字。

(7)编写代码,使客户端可以连接服务器。利用while和if函数实现客户端与服务器之间对话的循环。同时给予客户端相应的提示如“请输入要发送给服务器的消息: ”“服务器说: {}”“是否继续Y/N?”通过输入Y,可以继续进行一轮新的对话,如果输入N,则终止客户端与服务器之间的对话,程序终止运行。

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

(9)客户端完整代码如下:

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


(三)实验过程中遇到的问题和解决过程
- 问题1:客户端与服务器无法连接。
- 问题1解决方案:发现双方不在同一网络之下。之后,双方连接同一网络,服务器与客户端连接成功。
- 问题2:脱离本机与其他同学的电脑链接失败
- 问题2解决方案:经过尝试发现服务端需要本机WLAN IPv4地址
(四)其他(感悟、思考等)
本次 Python Socket 通信实验为我打开了网络编程领域的大门,使我系统掌握了服务端与客户端的搭建方法,以及基于 TCP/UDP 协议的 Socket 套接字通信原理。在实验实践过程中,通过对s.listen()、s.accept()、s.recv()、s.close()等核心 Socket 函数的实际运用,我不仅理解了各函数在网络连接建立、数据接收与资源释放中的具体作用,更直观感受到 Python 语言在网络编程场景下的高效与便捷。
此次实验不仅显著提升了我的网络编程技能,更培养了我严谨的编程思维与问题解决能力。撰写实验报告的过程,让我得以系统性地梳理实验思路,将实践经验转化为理论认知。在后续 Python 课程学习中,我将深入钻研编程、网络安全防护等更深层次的内容,持续强化自身技术能力,以更加严谨的科学态度应对未来编程挑战。

浙公网安备 33010602011771号