20244206gwx

导航

20244206 实验三《Python程序设计》实验报告

20244206 2024-2025-2 《Python程序设计》实验三报告

课程:《Python程序设计》
班级: 2442
姓名: 郭玮轩
学号:20244206
实验教师:王志强
实验日期:2025年4月15日
必修/选修: 公选课

一.实验内容

创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套接字(TCP/UDP)进行通信。
1.通信架构:创建服务端和客户端,服务端监听指定端口8888,向单个客户端发送请求。
2.文件操作:客户端读取内容,并向服务端发送信息。
3.代码托管:将程序代码上传至码云仓库,确保代码结构清晰、注释完整。

二. 实验过程及结果

(一)设计思路

  1. 架构设计
    (1)服务端:使用TCP协议,基于socket和threading模块实现处理,每个客户端连接由独立线程处理,避免阻塞,并与客户端实现联系
    (2)客户端:与服务端建立联系后向其发送内容

  2. 流程设计
    我和同伴交替担任服务端和客户端
    (1)客户端流程:
    读取内容;
    连接服务端并发送信息;
    接收服务端确认信息后关闭连接。
    (2)服务端流程:
    绑定端口并监听;
    接受客户端连接,创建新线程处理;
    接收信息;
    向客户端发送处理结果,关闭当前连接。
    (二)代码实现
    1.下图为我担任服务端

    2.下图为我担任客户端

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

  • 问题:对信息传输流程和实质不清晰,和同伴两人输入不同ip地址,导致无法连接
  • 问题解决方案:通过询问老师,两人输入相同ip地址,实现连接

其他(感悟、思考等)

经过这次实验,我深刻领会到网络编程里Socket的关键作用。TCP协议的流式传输特性,让我明白数据在网络中连接的运用,更是解决了服务端高效响应多个客户端请求的难题。不过,这也让我意识到实际项目中还有很多需要考量的地方,比如连接超时和断网重连等问题。本次实验使我受益匪浅,期待我在编程领域的持续提高!

posted on 2025-04-15 20:44  20244206郭玮轩  阅读(5)  评论(0)    收藏  举报