Python 实验八 网络程序设计

本次实验是关于网络程序设计的实践,使用Python实现了基于UDP的智能聊天机器人。实验中,服务端通过socket模块建立词库,客户端发送消息,服务端匹配词库后回应。实验代码包括简易版和优化版,能对相似消息进行初步判断。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

🌴 2022.6.10 下午 实验八

实验八 网络程序设计

文章目录

前言

🎬本文章是 【Python语言基础】 专栏的文章,主要是上课的随堂笔记与练习
🔗Python专栏 传送门
📽实验源码已在Github整理

题目

使用基于TCP或UDP套接字编写一个智能聊天机器人程序

问题分析

TCP工作需要建立连接、数据连接、断开连接三个步骤。利用socket模块,设计服务端与客户端,通过设置IP和端口号将二者连接。在服务端建立词库,客户端给服务端发送消息,服务端与词库做匹配后返回给客户端并输出

socket模块常用于TCP编程的方法:

socket.socket:创建套接字

serverSocket.bind((IP, Port)) :绑定套接字

connect(address):连接远程计算机

send(bytes[,flags]):发送数据

recv(bufsize[,flags]):接收数据

bind(address):绑定地址,通常用于服务端

listen(backlog):开始监听,等待客户端连接

accept():响应客户端的请求

代码

简易版

# server.py
'''先运行服务端再运行客户端'''
"""
@Author:张时贰
@Date:2022年06月15日
@优快云:张时贰
@Blog:zhangshier.vip
"""
import socket
serverSocket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)	#创建套接字
serverSocket.bind(('127.0.0.1',12345))     				#绑定套接字
print("在12345端口绑定UDP...")
answers = ["伽利略, 哥白尼","爱迪生, 特斯拉","诺贝尔, 门捷列夫"]	#回答列表
i = 0
while True:
  question,addr = serverSocket.recvfrom(1024)   	#接收客户端信息
  print("客户端问:",question.decode())	              #输出接收的问题
  #发送数据给客户端
  serverSocket.sendto(bytes
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值