20244102丁可实验三 Socket编程技术
20244102 2019-2020-2 《Python程序设计》实验x报告
课程:《Python程序设计》
班级: 2441
姓名: 丁可
学号:20244102
实验教师:王志强
实验日期:2025年4月15日
必修/选修: 公选课
- 1.实验内容*
创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套接字(TCP/UDP)进行通信。 -
- 实验过程及结果
(1)创建服务端
引用socket函数,设置服务器与服务器地址
设置启动服务器
进入循环,设置对客户端的应答语句20244102、
停止对话后结束运行
- 实验过程及结果
(2)创建客户端,选择一个通信端口,用Python语言编程实现通信演示程序;
引用socket函数20244102
设置连接服务器地址
进入循环,开始对话部分;由客户端实现对话控制,一轮对话结束后,输入Y继续对话,输入N结束对话
结束程序并关闭客户端
(3)实现对话
启动服务器:
启动客户端,连接成功:
客户端输入:
服务器接收并回复:
客户端接收并结束:
-
3. 实验过程中遇到的问题和解决过程
- 问题1:服务端接收数据不完整。
- 问题1解决方案:改用循环接收直到连接关闭,确保所有数据被读取。
- 问题2:多客户端同时连接导致阻塞。
- 问题2解决方案:引入多线程处理每个客户端连接。
-
其他(感悟、思考等)
这次实验让我收获良多。首先,在尝试编写计算器的过程中,我进一步巩固了前几节课学习到的知识,例如while、if语句等。其次,我也学习到了新知识、进行了一些新的尝试,例如使用import、等等。同时,在编写计算器程序的过程中,我也复习了从前学过的运算知识,并了解到了这些运算符号在Python中应该如何表达。
但是编写过程也并非一帆风顺。这次编写时,也依旧出现了报错而无法运行的情况。这说明在编写时还是不够仔细。在下次的学习中,我将更加关注细节问题,注重每一个标点和缩进。同时,如果有不会的地方我将询问同学或老师,力求在学习中把每个知识点都弄明白。我也要学着使用百度、AI等工具帮助我更好地学习编程,进一步锻炼编程能力与素养。