20244104陈思淼 《Python程序设计》实验三报告
课程:《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程序设计》实验三报告的更多相关文章
- 20192305 王梓全Python程序设计实验三报告
20192305 王梓全Python程序设计实验三报告 课程:<Python程序设计> 班级: 1923 姓名: 王梓全 学号:20192305 实验教师:王志强 实验日期:2021年5月 ...
- 20192305 王梓全Python程序设计实验四报告
20192305 王梓全Python程序设计实验四报告 课程:<Python程序设计> 班级: 1923 姓名: 王梓全 学号:20192305 实验教师:王志强 实验日期:2021年6月 ...
- 20192305 王梓全Python程序设计实验二报告
20192305 王梓全Python程序设计实验二报告 课程:<Python程序设计> 班级: 1923 姓名: 王梓全 学号:20192305 实验教师:王志强 实验日期:2021年4月 ...
- 20192305 王梓全Python程序设计实验一报告
20192305 王梓全Python程序设计实验一报告 课程:<Python程序设计> 班级: 1923 姓名: 王梓全 学号:20192305 实验教师:王志强 实验日期:2021年4月 ...
- Python程序设计实验报告三:分支结构程序设计
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 姚彩琴 学号3190505129 成绩 日期 2020.4.5 指导老师 修宇 [实验目的 ...
- 20192113 2020-2021-2 《Python程序设计》实验三报告
20192113 2020-2021-2 <Python程序设计>实验三报告 课程:<Python程序设计> 班级: 1921 姓名: 衣丽莎 学号:20192113 实验教师 ...
- 20192204李龙威 2019-2020-2 《Python程序设计》实验三报告
20192204李龙威 2019-2020-2 <Python程序设计>实验三报告 课程:<Python程序设计> 班级: 1922 姓名: 李龙威 学号:20192204 实 ...
- 20211306 《Python程序设计》实验三报告
学号 20211306 <Python程序设计>实验三报告 课程:<Python程序设计> 班级: 2113 姓名: 丁文博 学号:20211306 实验教师:王志强 实验日期 ...
- 20202411 2020-2021-2 《Python程序设计》实验三报告
20202411 2020-2021-2 <Python程序设计>实验三报告 课程:<Python程序设计> 班级: 2024 姓名: 陈书桓 学号:20202411 实验教师 ...
- Python程序设计实验报告二:顺序结构程序设计(验证性实验)
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 崔攀 学号3190505136 成绩 日期 2020.3.22 指导老师 修宇 [实验 ...
随机推荐
- AI技术革命,工作效率10个最佳AI工具
AI技术革命,工作效率10个最佳AI工具 目 录 1. Vidwud AI PowerPoint生成器... 4 2. Vidnoz AI音乐视频生成器... 5 3. ...
- SpringBoot整合Dubbox(无XML配置)
简介 Dubbox是当当网对阿里的Dubbo进行增强的一个分支.在使用springboot之后,我们发现很多配置并不一定要使用xml.这篇文章的目的是让你使用Dubbox时能像使用springboot ...
- PIL或Pillow学习1
PIL( Python Imaging Library)是 Python 的第三方图像处理库,由于其功能丰富,API 简洁易用,因此深受好评. 自 2011 年以来,由于 PIL 库更新缓慢,目前仅支 ...
- Portainer安装配置
什么是portainer 官网:https://www.portainer.io/ Portainer(基于 Go) 是一个轻量级的Web管理界面,可让您轻松管理 Docker 主机 或 Swarm ...
- delphi 让执行程序不在任务栏显示
Application.MainFormOnTaskbar := False; procedure TForm1.FormShow(Sender: TObject); begin ShowWindow ...
- Noise——随机之美
本篇博文介绍图形学中噪音生成的一般方法. Noise可以干什么? 不规则表面生成 有机体模拟 流体烟雾模拟 甚至是使用noise对灯光强度,位置做扰动: 只有我们想象不到的,没有noise不能涉猎的! ...
- docker container 启动异常
场景重现 阿里云ECS下新安装的CoreOS 1465.8.0 64-bit,没做过其他任何操作,直接执行以下命令出现异常: docker pull hello-world docker run -i ...
- 正在开发的.net sql拼写神器
我正在开发的一个.net sql拼写工具,当然也可以算是ORM 该工具的作用就是帮忙码农拼写sql,对标开源项目SqlKata.该工具最适合搭配Dapper使用,所以附带了一个Dapper扩展.当然直 ...
- 航天信息诺税通SAAS接口封装DLL
项目中需要对接航天信息的诺税通接口开具电子发票,为此将功能封装到了DLL中,其他项目也可以方便的引用. Delphi调用示例: 有需要可以和我联系:yzqnet(微信)
- Rabbitmq防止消息的丢失
一.Rabbitmq的流程图 二.出现消息丢失的三个可能 A:写消息的过程,消息都没到rabbitmq,在网络传输过程就丢了:或者是消息到了rabbitmq,但是人家内部出错了没保存下来 例子: 1. ...