20252334 实验三《Python程序设计》实验报告
学号 2025-2026-2 《Python程序设计》实验三报告
课程:《Python程序设计》
班级: 2523
姓名: 常嘉泽
学号:20252334
实验教师:王志强
实验日期:2026年4月27日
必修/选修: 公选课
1.实验内容
创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套接字(TCP/UDP)进行通信。
2. 实验过程及结果
客户端:

服务端:

添加并推送:

仓库:


LLM
关键代码的功能和使用方法:
功能:
1.socket:建立网络连接,实现两台电脑通信。
2.tkinter:创建图形窗口、输入框、发送按钮。
3.scrolledtext:显示聊天记录,自动滚动。
4.threading:后台收消息,界面不卡顿。
实验说明:
本程序基于 Python 开发,采用Socket 网络编程实现局域网通信,搭配Tkinter 图形界面提升交互体验,支持两台设备实时收发消息。程序分为服务端与客户端,通过 IP 地址和端口建立连接;使用多线程处理消息收发,避免界面卡顿,保证通信流畅。界面简洁易用,包含消息显示区、输入框和发送按钮,操作便捷。程序可实现稳定的双人实时聊天,具备基础通信功能,结构清晰、实用性强。
优点:
1.零依赖,开箱即用。
2.图形界面美观易用,适合展示。
3.多线程设计,聊天流畅不卡顿。
4.代码简洁规范,适合学习与课程设计。
5.支持局域网双人实时聊天。
结果

仓库:


3. 实验过程中遇到的问题和解决过程
- 问题1:IP 地址设置错误,导致无法连接
- 问题1解决方案:
1.查看服务端真实 IP:在服务端电脑的 CMD 中输入 ipconfig,找到无线局域网适配器 WLAN下的 IPv4 地址。
2.修改服务端代码:将 HOST 改为你查到的这个真实局域网 IP(例如 192.168.43.100)。
3.修改客户端代码:将客户端的 HOST 改为服务端的那个真实 IP。
4.关键验证:双方 IP 必须在同一网段(例如都是 192.168.43.x)。 - 问题2:界面无响应或消息收发不同步
- 问题2解决方案:
1.引入多线程:必须将 ** 接收消息(recv_loop)** 放在独立的后台线程中运行,让主线程专门负责 GUI 界面的交互。
2.分离模块:确保网络连接、消息收发逻辑是独立的函数,不阻塞 UI 主线程。
3.测试验证:分别测试发送功能和接收功能,确认聊天窗口可以同时滚动显示双方消息,窗口不再卡顿。
其他(感悟、思考等)
通过本次实验,我切实将理论知识与实践相结合,加深了对相关专业知识的理解与运用。实操过程中,我遇到诸多问题,在不断排查、调试与改正的过程中,锻炼了独立思考和问题解决能力。同时也认识到自身知识掌握的不足,明白了严谨细致的重要性。今后我会查漏补缺,端正学习态度,多动手实践,积累实操经验,不断提升专业素养与综合实践能力。
浙公网安备 33010602011771号