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

20244117 2024-2025-2 《Python程序设计》实验x报告

课程:《Python程序设计》
班级: 2441
姓名: 魏凡翕
学号:20244117
实验教师:王志强
实验日期:2025年4月15日
必修/选修:专选课

1.实验内容

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

2. 实验过程及结果

(1)创建客户端:
首先,创建一个python文件并用鼠标双击打开文件,开始进行程序的编写。

创建好文件后,使用import导入socket模块,并且编写程序使客户端连接到服务器。

然后,编写程序使客户端可以通过输入服务器的IP地址和端口与服务器完成对接。

然后,编写程序使得客户端可以给服务器发送信息并接收到服务器发送的信息,并且利用While循环使得二者可以重复对话,以及自由地终端通讯。在程序中使用了utf-8编码传输输入的内容,当通讯字数大于1024,则通讯中断。

最后,编写程序使得连接可以关闭。

以下为完整的程序。

之后,我使用创建的客户端和服务器进行了通讯,以下是通讯内容。

(2)创建服务器
首先,创建一个python文件用于编写服务器程序。

然后,使用import导入socket模块,并且对socket模块进行初始化操作。

然后,编写程序使得服务器绑定本机的IP地址,并且输入和客户端方同样的端口。

之后,创建监听连结,并且使用print()来提供服务器启动和客户端连结的提示。

然后,编写程序使得服务器可以收到客户端发送的信息并且向客户端发送信息,并使用while循环语句使通讯可以多次进行。这里同样使用utf-8编码传输信息。

最后,编写程序使得客户端关闭通讯时,服务器中止运行。

以下是完整的程序。

编写程序完毕后,和客户端方进行了简单的聊天。

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

  • 问题1:初次编写服务器程序时,双方不可多次通讯。
  • 问题1解决方案:通过询问同学和参照老师给出的模板,在服务器程序中也加入了while循环语句。
  • 问题2:作为服务器时无法和客户端进行连接。
  • 问题2解决方案:发现最初的服务器程序中输入的是客户端方的IP地址,最后改为了本机IP地址后程序得以正常运行。

其他(感悟、思考等)

通过本次实验,我知道了如何利用pycharm制作一个简单的服务器和客户端与他人进行简单的通讯,并且对socket编程技术有了一个粗浅的认识。在本次实验中,我遇到了许多困难,比如一开始完全不知道socket编程技术是怎么用的,但是经过一系列努力,最后还是把程序写了出来,这使我有一种满足感。同时,socket编程技术使我对python有了更为深刻的认识,在最开始,我认为它只能做到展示已经编写好的程序的演示效果,现在我知道了它还可以实现通讯功能。通讯的使用是如此的普遍,这使我感受到了python的强大之处。

posted @ 2025-04-17 21:20  4117  阅读(23)  评论(0)    收藏  举报