🌴 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