课程:《Python程序设计》

班级:2441

姓名:陈思淼

学号:20244104

实验教师:王志强

实验日期:20254月20日

必修/选修: 公选课

1.实验内容

创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套接字(TCP/UDP)进行通信。

实验要求

(1)创建服务端和客户端,选择一个通信端口,用Python语言编程实现通信演示程序;

(2)要求包含文件的基本操作,例如打开和读写操作。

2. 实验过程及结果

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



(2)在电脑的控制面板中查看本机IP地址,绑定IP地址。

设置监听连接,并给予相关提示“服务器正在监听”。

构建代码,使客户端通过输入服务器的IP地址和端口与服务器完成对接



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



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



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



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



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



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



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



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



程序运行正常,可以正常进行对话、重复对话、结束对话。

3. 实验过程

  • 问题1:脱离本机与其他同学的电脑链接失败
  • 问题1解决方案:经过尝试发现服务端需要本机WLAN IPv4地址
  • 问题2:客户端与服务器无法连接。
  • 问题2解决方案:发现双方不在同一网络之下。之后,双方连接同一网络,服务器与客户端连接成功。
  • ...

其他(感悟、思考等)

-掌握了服务端与客户端的构建原理。在教师细致的流程演示中,我逐步理解了网络通信代码的架构本质。通过查阅技术文档,我领悟到socket模块的调用机制,以及如何通过特定端口实现双端数据互通。这些实践让我对Python的生态体系有了更立体的认知。认识到代码运行环境的精密性。即便程序逻辑无误,若服务端未开启监听或客户端参数配置错误,仍会导致连接失败。这要求双方程序必须基于相同的IP协议(如IPv4地址)和端口号实现时序同步,体现出网络通信中严密的协作机制。

-Python进阶之路如同航海探索,需以积累为锚,以实践为舵,在反复调试中捕获异常信息,在日志分析里追溯问题根源。日常研习时,我们更要善用协作编程的优势,通过结对调试与知识共享,将个体遇到的报错信息转化为团队的经验图谱。这种螺旋上升的学习过程,恰是编程思维成长的生动写照。

参考资料

20244104陈思淼 《Python程序设计》实验三报告的更多相关文章

  1. 20192305 王梓全Python程序设计实验三报告

    20192305 王梓全Python程序设计实验三报告 课程:<Python程序设计> 班级: 1923 姓名: 王梓全 学号:20192305 实验教师:王志强 实验日期:2021年5月 ...

  2. 20192305 王梓全Python程序设计实验四报告

    20192305 王梓全Python程序设计实验四报告 课程:<Python程序设计> 班级: 1923 姓名: 王梓全 学号:20192305 实验教师:王志强 实验日期:2021年6月 ...

  3. 20192305 王梓全Python程序设计实验二报告

    20192305 王梓全Python程序设计实验二报告 课程:<Python程序设计> 班级: 1923 姓名: 王梓全 学号:20192305 实验教师:王志强 实验日期:2021年4月 ...

  4. 20192305 王梓全Python程序设计实验一报告

    20192305 王梓全Python程序设计实验一报告 课程:<Python程序设计> 班级: 1923 姓名: 王梓全 学号:20192305 实验教师:王志强 实验日期:2021年4月 ...

  5. Python程序设计实验报告三:分支结构程序设计

    安徽工程大学 Python程序设计 实验报告 班级   物流191   姓名  姚彩琴  学号3190505129 成绩 日期     2020.4.5     指导老师       修宇 [实验目的 ...

  6. 20192113 2020-2021-2 《Python程序设计》实验三报告

    20192113 2020-2021-2 <Python程序设计>实验三报告 课程:<Python程序设计> 班级: 1921 姓名: 衣丽莎 学号:20192113 实验教师 ...

  7. 20192204李龙威 2019-2020-2 《Python程序设计》实验三报告

    20192204李龙威 2019-2020-2 <Python程序设计>实验三报告 课程:<Python程序设计> 班级: 1922 姓名: 李龙威 学号:20192204 实 ...

  8. 20211306 《Python程序设计》实验三报告

    学号 20211306 <Python程序设计>实验三报告 课程:<Python程序设计> 班级: 2113 姓名: 丁文博 学号:20211306 实验教师:王志强 实验日期 ...

  9. 20202411 2020-2021-2 《Python程序设计》实验三报告

    20202411 2020-2021-2 <Python程序设计>实验三报告 课程:<Python程序设计> 班级: 2024 姓名: 陈书桓 学号:20202411 实验教师 ...

  10. Python程序设计实验报告二:顺序结构程序设计(验证性实验)

      安徽工程大学 Python程序设计 实验报告 班级   物流191   姓名  崔攀  学号3190505136 成绩 日期     2020.3.22     指导老师       修宇 [实验 ...

随机推荐

  1. 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!

    前言 今天大姚给大家分享 3 个 .NET 开源.免费的文件压缩处理库,希望可以快速帮助同学们实现文件压缩和解压功能! SharpCompress SharpCompress 是一个基于 C# 编写的 ...

  2. jquery给一个li标签添加和去掉class属性

    $("li").addClass('xxx').siblings().removeClass("xxx");

  3. Towards Accurate Alignment in Real-time 3D Hand-Mesh Reconstruction论文解读

    Towards Accurate Alignment in Real-time 3D Hand-Mesh Reconstruction论文解读 这是发表在ICCV2021的一篇文章,主要的工作内容是R ...

  4. 获取不到http请求头自定义参数

    对外提供的API,需请求方在http请求头中传app_id(下划线分割) 然后服务端通过request.getHeader("app_id")获取不到对应的参数值 排查原因,是因为 ...

  5. 环境配置-Git和GitLab

    Git安装 到官网下载安装包,直接一路next即可. https://git-scm.com/download/win 配置用户名和用户邮箱 $ git config --global user.na ...

  6. 推荐Linux命令行运维工具: Wowkey--实现自动化批量化标准化

    WowKey命令行运维工具,Linux设备的自动化.批量化.标准化的运维解决方案,解放运维人,提升企业运维效率和质量. 有人能理解做设备的运营维护工作的痛苦所在吗? 如果你的运维工作中,只维护个位数数 ...

  7. 基于Docker+DeepSeek+Dify:搭建企业级本地私有化知识库超详细教程

    在当今信息爆炸的时代,如何高效地管理和利用知识成为了企业竞争力的关键.为了帮助企业构建专属的知识库,本文将详细介绍如何使用Docker.DeepSeek和Dify来搭建一个企业级本地私有化知识库. 1 ...

  8. ESP32+Arduino入门(一):开发环境搭建

    前言 作为一名硬件小白,在动手组装了一下小智AI之后,感觉还挺有意思的,也想开始学习ESP32了. ESP32介绍 ESP32 是乐鑫科技(Espressif Systems)推出的一款高性能.低功耗 ...

  9. GPT-SoVITS Windows 配置与推理笔记(自用)

    GPT-SoVITS Windows 配置与推理笔记(自用) 这是给自己留的备份,方便下次查.Windows 端配置和推理为主,代码为核心,直接干货. 环境准备 系统:Windows 10/11 Py ...

  10. 基于华为交换机的三层Clos架构(Leaf-Spine)配置指南

    基于华为交换机的三层Clos架构(Leaf-Spine)配置指南 目录 设计原则 配置步骤 物理连接与基础配置 路由协议配置 VXLAN+EVPN配置 M-LAG高可用配置 BFD快速检测 验证命令 ...