20254123 2025-2026-2 《Python程序设计》实验3报告
课程:《Python程序设计》
班级: 2541
姓名: 刘浩丞
学号:20254123
实验教师:王志强
实验日期:2026年4月28日
必修/选修: 专选课
1.实验内容
客户端和服务端通过Socket套接字(TCP/UDP)进行通信,创建服务端和客户端。
2. 实验过程及结果
(1)自主制作
课程中根据老师讲解,了解python中socket代码编写基本原理,和同伴简单实验并操作,步骤如下。
改IP地址:
在命令提示符输入Ipconfig,获取IP信息,并在wlan中更改IP末两位为学号。


服务端:
使用“import socket”导入socket函数,完成初始化,确保程序正常运行;
使用“client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)”创建 socket 对象,其中socket.AF_INET 表示使用 IPv4 地址;
使用“server_socket.bind(('服务器电脑IPv4地址', 协议端口))”绑定IPv4地址及协议端口;
使用“server_socket.listen(num.)”规定监听客户端数量;
最后使用循环设置与客户端的通讯对话,其中用“encode”完成解码,为了实验方便,通常采用“utf-8”码;此外,使用“ data = client_socket.recv(1024).decode("utf-8")”规定每次接收数据的最大字节数,大于规定字节数则程序终止;使用“message = input("请输入要发送给客户端的消息:")”和“client_socket.send(message.encode("utf-8"))”向客户端发送信息;使用“client_socket.close()和serve_socket.close()”关闭连接。
客户端:
使用“import socket”导入socket函数,完成初始化;
使用“client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)”创建 socket 对象;
使用“server_address = ('服务器电脑IPv4地址', 协议端口)”和“client_socket.connect(server_address)”连接服务器;
最后使用循环设置与服务器的通讯对话,其中解码、最大字节数设置同服务器;使用“client_socket.close()”关闭连接。
服务端与客户端连接,进行通信:


(2)互相通信

(本电脑为服务端)

(此电脑为客户端)
(3)大模型生成
3. 实验过程中遇到的问题和解决过程
- 问题1:端口被占用。
- 问题1解决方案:在上一个端口未被释放时尝试更换其他端口,解决问题。
- 问题2:目标计算机积极拒绝。
- 问题2解决方案:暂时关闭目标计算机防火墙,解决问题。
- 问题3:缺少tkinter导致不能使用AI生成代码
- 问题3解决方案:重装编译器,下载tkinter
其他(感悟、思考等)
本次实验基于课程中对socket函数的理解和同伴的配合,启示我们了解技术、重视合作。socket函数使用为我们更深入打开学习Python的大门,让我们见识Python的实用和强大

浙公网安备 33010602011771号