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

20244211 2024-2025-2 《Python程序设计》实验3报告

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

1.实验内容

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

2. 实验过程及结果

  • 写服务器代码:
    (1)导入socket模块,创建一个套接字,在套接字中,使用IPv4地址,用面向连接的协议。

    (2)查询我的电脑的IPV4地址,填入,自己编一个端口号,填入。接着,将套接字和地址绑在一起。

    (3)开始监听,“1”代表只能有一个链接,然后输出IP地址和端口。

    (4)接受连接,给客户端的连接信息赋值,然后输出客户端的连接信息。

    (5)进入while循环后,先接受客户端发送的数据,最多1024个字节,变成字符串。如果没有接收到数据,就停止循环。

    (6)显示用户的消息,然后把服务器的消息发送给客户端,encode代表把字符串转换为字节。

    (7)关闭客户端和服务器。完整代码和结果如下

  • 写客户端代码:
    (1)把socket模块导入,创建一个对象,使用IPV4协议和TCP协议。

    (2)绑定IPV4地址和端口号,客户端连接服务器。

    (3)利用循环,不断接收服务器发来的消息.如果没有接收到消息,停止循环。

    (4)输出服务器那边传来的消息。判断是否要继续。
    (5)关闭客户端,完整代码和结果如下:

  • 两人互换身份后,运行结果如下:

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

  • 问题1:显示目标计算机积极拒绝
  • 问题1解决方案:尝试用不同的端口号,检查IPV4地址是否错误。
  • 问题2:端口号显示错误
  • 问题2解决方案:端口号首位不可为0
  • 问题3:IP地址不小心多加了一个空格
  • 问题3解决方案:在复制的时候,常常出现多复制一个空格的情况,要求我复制的时候检查一遍。
  • 问题4:两台电脑无法联通。用下图方法显示两台电脑联通失败。
  • 问题4解决方案:发现是用了虚拟网卡的地址,我改回了正确的IP地址。

其他(感悟、思考等)

  • 学会了如何创建服务端和客户端。跟随老师课堂的一步步操作,我逐渐认识到了看似复杂的代码的底层逻辑。借助英文知识,我了解到调用socket模块,连接客户端和服务器是如何操作的。这些知识极大地丰富了我对Python的认识。
  • 了解了该代码的具体应用情况。正确的代码,可能因为操作不当而引发无法连接,这需要双方的密切配合,同时开始程序,输入服务端的同一个端口和IPV4地址。
  • 对Python的学习是艰难但充满乐趣的,需要我们用耐心为帆,用恒心为桨,不断试错,反思,总结,并且不断复习巩固已学过的知识;日常生活之中,我们应该注重和同学的合作,一起攻克难关。

参考资料

  • 《零基础学Python》
posted @ 2025-04-20 15:39  布鲁克林要种树  阅读(32)  评论(0)    收藏  举报