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

20244226 2019-2020-2 《Python程序设计》实验3报告

课程:《Python程序设计》
班级: 2442
姓名: 张毓格
学号:20244226
实验教师:王志强
实验日期:2025年4月15日
必修/选修: 专选课

1.实验内容

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

2. 实验过程及结果

本实验与20244215曾晴配合完成
作为客户端实验过程如下:
(1)创建一个客户端socket对象:client_socket,使用ipv4和tcp协议

(2)建立连接:连接到服务端并输入服务端的ip地址(server_address)指定服务器端口

(3)消息循环:客户端进入循环,用户输入消息发送到服务端,将消息编码为UTF-8格式发送,服务器接收到消息并进行回复,客户端收到回复一个循环结束
每次交互后询问是否继续,输入"N"则退出循环,输入“Y”则继续循环

(4)终止连接:关闭socket释放资源

成功运行如下:

作为服务端实验过程如下:
(1)创建一个客户端socket对象:client_socket,使用ipv4和tcp协议,并建立连接

(2)启动监听,进入被动监听模式,等待客户端连接,并接受客户端连接

(3)消息交互循环:接收客户端发来的数据(最多1024字节),将二进制数据解码为UTF-8字符串,若收到空数据表示连接断开,退出循环,关闭连接先关闭客户端连接专用的Socket,
再关闭服务端监听Socket

运行成功如下:

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

  • 问题1:作为客户端时无法与服务端连接
  • 问题1解决方案:经检查发现,是因为客户端和服务端没有在同一个区域,连接不同网络造成的无法连接
  • 问题2:在连接同一个网络后依旧无法连接
  • 问题2解决方案:查找各方问题,请教老师同学后发现,输入的服务端ipv4地址错误,导致的无法连接

其他(感悟、思考等)

在本次实验中非常直观的体会到了socket编程的互联,客户端和服务端通过Socket套接字(TCP/UDP)进行通信的体验,加深了我对python这一编程软件的了解,提升了熟练灵活使用python的能力,在实验过程中出现的问题也使我意识到细节的重要性,往往连接的失败可能出现在较小的错误上,另外,也在互联过程中加深了对于网络安全和隐私的思考,具有一定的安全隐患。

posted @ 2025-04-15 20:45  zzzyyggg  阅读(6)  评论(0)    收藏  举报