# 服务端接收代码
from socket import *
from time import time
s = socket(AF_INET, SOCK_DGRAM) # 创建UDP套接字
s.bind(('127.0.0.1', 1660))
while True:
print('准备接收数据,接收中...')
recv_data = s.recvfrom(1024)
content = recv_data[0].decode("utf-8")
print(f'消息接收成功,消息:{content}, 发送方IP:{recv_data[1][0]}, 发送方端口号:{recv_data[1][1]}')
if content == 'Bye!':
s.close() # 关闭UDP套接字连接
break
print("\n\n数据接收完毕!")
# 客户端发送代码
from socket import *
from random import randint
from time import sleep
content = ['Hello World!', '人生苦短,我用Python', 'PEP-8', 'UDP', 'TCP/IP', 'Bye!']
s = socket(AF_INET, SOCK_DGRAM) # 创建UDP套接字
for data in content:
# data = input("请输入需要发送的内容:")
time = randint(2, 5)
print(f'{time}s后开始发送消息...')
sleep(time)
s.sendto(data.encode('utf-8'), ('127.0.0.1', 1660))
print(f'消息长度:{len(data)}, 消息已发送!')
else:
print("\n\n数据发送完毕!")