20244102丁可实验三 Socket编程技术

20244102 2019-2020-2 《Python程序设计》实验x报告

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

  • 1.实验内容*
    创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套接字(TCP/UDP)进行通信。
    1. 实验过程及结果
      (1)创建服务端
      引用socket函数,设置服务器与服务器地址

      设置启动服务器

      进入循环,设置对客户端的应答语句20244102、

      停止对话后结束运行

(2)创建客户端,选择一个通信端口,用Python语言编程实现通信演示程序;
引用socket函数20244102

设置连接服务器地址

进入循环,开始对话部分;由客户端实现对话控制,一轮对话结束后,输入Y继续对话,输入N结束对话

结束程序并关闭客户端

(3)实现对话
启动服务器:

启动客户端,连接成功:

客户端输入:

服务器接收并回复:

客户端接收并结束:

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

  • 问题1:服务端接收数据不完整。
  • 问题1解决方案:改用循环接收直到连接关闭,确保所有数据被读取。
  • 问题2:多客户端同时连接导致阻塞。
  • 问题2解决方案:引入多线程处理每个客户端连接。
  • 其他(感悟、思考等)

这次实验让我收获良多。首先,在尝试编写计算器的过程中,我进一步巩固了前几节课学习到的知识,例如while、if语句等。其次,我也学习到了新知识、进行了一些新的尝试,例如使用import、等等。同时,在编写计算器程序的过程中,我也复习了从前学过的运算知识,并了解到了这些运算符号在Python中应该如何表达。
但是编写过程也并非一帆风顺。这次编写时,也依旧出现了报错而无法运行的情况。这说明在编写时还是不够仔细。在下次的学习中,我将更加关注细节问题,注重每一个标点和缩进。同时,如果有不会的地方我将询问同学或老师,力求在学习中把每个知识点都弄明白。我也要学着使用百度、AI等工具帮助我更好地学习编程,进一步锻炼编程能力与素养。

posted @ 2025-04-15 20:46  dk丁可  阅读(10)  评论(0)    收藏  举报