当前位置: 首页 > news >正文

20254121 2025-2026-2 《Python程序设计》实验3报告

课程:《Python程序设计》

班级: 2541

姓名: 何若水

学号:20254121

实验教师:王志强

实验日期:2026年4月28日

必修/选修: 专选课

## 1.实验内容 :

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

## 2. 实验过程及结果:

在两次实验中,均与20254105张家毓组成两人组,完成各次实验。

实验一:

在老师带领下,完成服务端和客户端代码的编写,输入PyCharm。

(一)本次,由我担任服务端。

1.打开我手机的热点,并在电脑中输入“cmd”,寻找命令提示符,输入“ipconfig”,找到我的热点的相关信息;

image

2.在“设置”中找到“网络和Internet”,进入“更改配适器选项”,在“WLAN属性”中选择“使用下面的IP地址”,依次填写“IP地址”、“子网掩码”与“默认网关”,完成IPV4设置;

image

3.在“设置”中找到“防火墙”,关闭公用网络防火墙;

4.告知同伴我的热点、IPV4地址等信息,等待其连接调试;

5.进入服务端模块,找到“HOST”、“PORT”,输入地址“10.248.12.21”,等待客户端连接;

6.连接成功,运行通话结果如下图所示:

image

 (二),本次,由我担任客户端

1.退出我的热点,进入“更改配适器选项”,修改为同伴的“WLAN属性”,依次填写“IP地址”、“子网掩码”与“默认网关”,完成同伴的IPV4设置;

image

2.连接同伴的热点;

3.进入客户端模块,找到“HOST”、“PORT”,输入地址“196.168.43.5”,与服务端连接;

4.连接成功,运行通话结果如下图所示:

image

 实验二

使用LLM豆包生成服务端和客户端代码,输入PyCharm。

(一)豆包实验

1.本次,由我担任服务端,其余操作与“实验一·(一)”步骤相同,调试后连接成功,运行通话结果如下图所示:

image

 2.本次,由我担任客户端,其余操作与“实验一·(二)”步骤相同,调试后连接成功,运行通话结果如下图所示:

image

 (二)DeepSeek实验

经过老师提醒,发现先前大模型豆包生成的代码缺少UGI图标。遂使用大模型DeepSeek,生成服务端和客户端代码,输入PyCharm。

1.本次,由我担任客户端,其余操作与“实验一·(二)”步骤相同,调试后连接成功,运行通话结果如下图所示:

image

 2.本次,由我担任服务端,其余操作与“实验一·(一)”步骤相同,调试后连接成功,运行通话结果如下图所示:

image

 3.对于关键代码的功能和使用方法的分析:

①HOST:

HOST是服务器的地址,告诉客户端要去哪里找到服务器。不同的HOST值对应了不同地址,比如本机地址、互联网地址等。用户通过输入服务端的 IP 地址,可以帮助客户端连接到服务端程序的电脑,从而建立通话联系。

②PORT:

PORT就是端口号,一个电脑可以运行多个网络程序,而双方用户通过输入相同的端口号,就可以帮助服务端和客户端建立通话连接,找到正确的程序。

③代码:

# 发送消息

def send_message(self):

message = self.message_entry.

get('1.0', tk.END).strip()

self.client_socket.

send(message.encode('utf-8'))

# 编码并发送

# 接收消息(在独立线程中运行)

def receive_messages(self):

while self.is_in_call:

message = self.client_

socket.recv(1024).

decode('utf-8') # 接收并解码

self.add_log(message,

"received") # 显示在界面上

这一段代码实现了双向通信机制,使得服务端和客户端发送的消息可以被对方受到,并且显示出来。

同时,通过设置1024字节的缓冲区来保障文本消息足够服务端和客户端的用户使用,双方可以畅所欲言。

4.分析LLM生成代码的优点:

①通过生成UGI图标,出现对话框与对话框,并显示通话时间与通话记录,实时显示双方连接状态,可以提升用户的使用体验,模拟真实的通话环境;

②通过生成醒目的“按钮”,直接帮助用户启动服务器与断开连接,结束通话,可以大大减少用户需要开始对话的步骤,不必多次点击PyCharm的运行标志与结束标志,流程简洁,易于上手操作;

③加入了表情包与符号,使得通话界面更加友好,提高了通话过程的趣味性。

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

- 问题1:无法连接同伴的热点,或者虽然可以连接热点但是不久后会自动断开,网络极度不稳定;

- 问题1解决方案:通过询问老师,发现问题出现在了更改IPV4地址上。在此之前,我一直误认为两人的修改后地址需要一模一样。在老师的指导下,我把IPV4修改版本的学号部分调整成我自己的学号,解决了无法连接同伴热点的问题,网速流畅且网络稳定。

- 问题2:我的大模型豆包生成的socket代码在进入PyCharm后,虽然能够运行,但是无法与同伴端取得联系;

- 问题2解决方案:经过多次测试与排查后,与同伴确定,是大模型豆包生成的代码存在问题,而并非我们本身存在问题。后续是同伴用她的豆包重新生成了代码,这次的socket代码终于可以运行。

- 问题3:老师提醒我们AI大模型生成的代码还需要有UGI界面,但是在尝试使用大模型豆包,大模型元宝后,均存在语法等错误,无法在PyCharm上运行,一时想不到其他可以选择的主流大模型;

-问题3解决方案:在集思广益后,最终求助大模型DeepSeek,在几轮指令调试后,修复了消息无法发送的问题,并最终得到了精美的UGI显示界面,实验成功。

## 其他(感悟、思考等)

这大概是我做过的最艰难的实验,没有之一,因为步骤多,而且比较复杂。由于我之前对如何修改IPV4网址没有任何知识或者经验,所以在连接同伴热点的过程中遭遇诸多不顺,并且问题一半都出在这里。在前期调整修改的过程中因为还没有意识到是网址的问题,所以绕了很多弯路,也耗费了大量的情绪与时间。但是感谢我同伴的鼓励,也感谢老师耐心的讲解与付出,我们最终完成了运用Python程序创建客户端和服务端的实验。这次实验让我看见了两人通力合作可以相互扶持,集思广益,解决很多单靠一个人解决不了的问题的重要性,也感受到了老师详细指导引导我们克服困难的温暖。这次实验经历既是挑战,也是成长。

## 参考资料

-  [《Java程序设计与数据结构教程(第二版)》](https://book.douban.com/subject/26851579/)

-  [《Java程序设计与数据结构教程(第二版)》学习指导](http://www.cnblogs.com/rocedu/p/5182332.html) -  ...

http://www.jsqmd.com/news/720906/

相关文章:

  • 开源色彩管理革命:OpenColorIO配置为ACES的终极指南
  • 别再只抄代码了!手把手教你用逻辑分析仪调试STM32与DS1302的SPI时序
  • LongWayToGo
  • 终极风扇控制指南:告别噪音与过热的专业解决方案
  • 成都二手上下铁床供应商|十年工厂,员工宿舍高低床/工地双层床/可定制 - 企业推荐师
  • 降AI怎么花钱才不冤枉?按学校要求+预算4种情况分类推荐工具! - 我要发一区
  • 萌宝成长助手,轻松带娃
  • 嘎嘎降的1000字免费试用够不够看出效果?万字论文实测拆解! - 我要发一区
  • 成都二手上下铁床厂家|自有工厂,全新二手上下铺铁架床 批量供货 - 企业推荐师
  • 如何用Faster-Whisper-GUI实现高效音频视频转文字
  • 为什么你的Swoole-LLM服务上线3天就OOM?揭秘内存管理、协程调度、流控熔断的4层防护架构
  • ChatGPT机器人集成实战:从API调用到生产级对话系统构建
  • LLM作为AI对话评估裁判的实践与优化
  • 英语阅读_The global fashion industry
  • 别再用手工测接口了,Python 脚本帮你自动跑回归
  • Pandas可视化
  • 英语阅读_not wise to follow every trend blindly
  • oh-my-codex 简介(Codex免费使用方法)
  • 苹果微软双修党福音:Navicat如何熟悉Mac版专属快捷键_硬核实战技巧
  • 保姆级教程:Ubuntu 20.04/18.04系统下Atlas 300i Pro/T 芯片驱动、CANN 6.3.RC1及MindSpore 2.0环境配置详解
  • Win11笔记本耳机没弹窗?手把手教你修复Realtek Audio Console的RPC连接问题
  • 两个线程循环打印奇偶数
  • 禾川HCQ0-1100-D PLC从开箱到跑通第一个CANopen轴:Codesys配置避坑全记录
  • 英语阅读_How can we develop our own style
  • 017、PCIe数据包结构:TLP、DLLP与Ordered Sets
  • 如何在OBS中实现专业级面部跟踪?2025最新插件完整指南
  • Claude Pulse:实时监控AI编程助手请求的VS Code扩展
  • Kimi K2.6 + Claude 多代理路由栈
  • 算法训练营第十六天 | 反转字符串 II
  • 抖音下载神器:5分钟掌握批量无水印下载技巧