兼职做网站的费用,专为男人做的网站,北京企业vi设计公司,郑州好的seo外包公司关于UDP网络编程UDP(user datagram protocol)的中文叫用户数据报协议#xff0c;属于传输层。UDP是面向非连接的协议#xff0c;它不与对方建立连接#xff0c;而是直接把要发的数据发给对方。【UDP网络编程的特点】1#xff0c;每个数据中都给出了完整的地址信息#xff…关于UDP网络编程UDP(user datagram protocol)的中文叫用户数据报协议属于传输层。UDP是面向非连接的协议它不与对方建立连接而是直接把要发的数据发给对方。【UDP网络编程的特点】1每个数据中都给出了完整的地址信息因此无需要建立发送方和接收方的连接。2UDP传输数据时是有大小限制的每个被传输的数据报必须限定在64kB之内。3UDP是一个不可靠的协议发送方所发送的数据报并不一定以相同的次序到达接收方。4总之一句话UDP网络编程不安全UDP网络编程-流程图代码实现【服务端与客户端的聊天(AI机器人模式)】先看实现的结果【客户端】客户端【客户端】输入你好吗[bSun Jul 7 17:17:58 2019]【机器人】小Zurich 好!【客户端】输入你觉得我是最帅最帅的吗[bSun Jul 7 17:18:34 2019]【机器人】小Zurich 觉得自己是最帅最帅的!【客户端】输入你觉得自己丑吗[bSun Jul 7 17:18:48 2019]【机器人】小Zurich 觉得自己丑!【客户端】输入你自己把自己丑哭了吗[bSun Jul 7 17:19:33 2019]【机器人】小Zurich 自己把自己丑哭了!【客户端】输入【服务器端】waiting for message...【机器人】小Zurich 好!【服务器端】回复: 【机器人】小Zurich 好!waiting for message...【机器人】小Zurich 觉得我是最帅最帅的!【服务器端】回复: 【机器人】小Zurich 觉得自己是最帅最帅的!waiting for message...【机器人】小Zurich 觉得自己丑!【服务器端】回复: 【机器人】小Zurich 觉得自己丑!waiting for message...【机器人】小Zurich 自己把自己丑哭了!【服务器端】回复: 【机器人】小Zurich 自己把自己丑哭了!waiting for message...下面就直接上代码【服务器端】 server.py# 服务器端import refrom socket import *from time import ctimeHOST PORT 8888BUFSIZ 1024ADDR (HOST, PORT)udpservSock socket(AF_INET, SOCK_DGRAM)udpservSock.bind(ADDR)while True:print(waiting for message...)data,addr udpservSock.recvfrom(BUFSIZ)# print(接收到的数据)# data data.decode(utf-8)# content [%s]%s% (bytes(ctime(), utf-8),data)# 将客户端传回来的数据进行处理res re.match(r你(\D{1,})吗\, data.decode(utf-8))if res None:data 啊啊啊【机器人】小Zurich 刚刚脑子出差了请您再说一次~else:data 【机器人】小Zurich res.group(1) !content [{}]{}.format(bytes(ctime(), utf-8), data.replace(我,自己))# data data.replace(我,new 自己)print(data)udpservSock.sendto(content.encode(utf-8),addr)print(【服务器端】回复:, data.replace(我,自己))【客户端】 client.py# 客户端from socket import *HOST 127.0.0.1PORT 8888BUFSIZ 1024ADDR (HOST, PORT)updCliSock socket(AF_INET, SOCK_DGRAM)while True:data input(【客户端】输入)if not data:breakupdCliSock.sendto(data.encode(utf-8),ADDR)data,ADDR updCliSock.recvfrom(BUFSIZ)if not data:breakprint(data.decode(utf-8))updCliSock.close()