课程:《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. AI技术革命,工作效率10个最佳AI工具

    AI技术革命,工作效率10个最佳AI工具 目       录 1.      Vidwud AI PowerPoint生成器... 4 2.      Vidnoz AI音乐视频生成器... 5 3. ...

  2. SpringBoot整合Dubbox(无XML配置)

    简介 Dubbox是当当网对阿里的Dubbo进行增强的一个分支.在使用springboot之后,我们发现很多配置并不一定要使用xml.这篇文章的目的是让你使用Dubbox时能像使用springboot ...

  3. PIL或Pillow学习1

    PIL( Python Imaging Library)是 Python 的第三方图像处理库,由于其功能丰富,API 简洁易用,因此深受好评. 自 2011 年以来,由于 PIL 库更新缓慢,目前仅支 ...

  4. Portainer安装配置

    什么是portainer 官网:https://www.portainer.io/ Portainer(基于 Go) 是一个轻量级的Web管理界面,可让您轻松管理 Docker 主机 或 Swarm ...

  5. delphi 让执行程序不在任务栏显示

    Application.MainFormOnTaskbar := False; procedure TForm1.FormShow(Sender: TObject); begin ShowWindow ...

  6. Noise——随机之美

    本篇博文介绍图形学中噪音生成的一般方法. Noise可以干什么? 不规则表面生成 有机体模拟 流体烟雾模拟 甚至是使用noise对灯光强度,位置做扰动: 只有我们想象不到的,没有noise不能涉猎的! ...

  7. docker container 启动异常

    场景重现 阿里云ECS下新安装的CoreOS 1465.8.0 64-bit,没做过其他任何操作,直接执行以下命令出现异常: docker pull hello-world docker run -i ...

  8. 正在开发的.net sql拼写神器

    我正在开发的一个.net sql拼写工具,当然也可以算是ORM 该工具的作用就是帮忙码农拼写sql,对标开源项目SqlKata.该工具最适合搭配Dapper使用,所以附带了一个Dapper扩展.当然直 ...

  9. 航天信息诺税通SAAS接口封装DLL

    项目中需要对接航天信息的诺税通接口开具电子发票,为此将功能封装到了DLL中,其他项目也可以方便的引用. Delphi调用示例: 有需要可以和我联系:yzqnet(微信)

  10. Rabbitmq防止消息的丢失

    一.Rabbitmq的流程图 二.出现消息丢失的三个可能 A:写消息的过程,消息都没到rabbitmq,在网络传输过程就丢了:或者是消息到了rabbitmq,但是人家内部出错了没保存下来 例子: 1. ...