参考代码:
# 半双工方式:
# 接收端:先接收数据。
# 发送端:向接收端发送数据
# 接收端:受到发送端发送的数据后,执行发送数据功能
# 发送端:向接收端发送数据后,执行接收数据功能(阻塞状态:等待数据到来)
import socket
def send():
# 1.创建一个udp套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 2.绑定元组
local_addr = ("", 7898)
udp_socket.bind(local_addr)
# 获取对方的ip和端口
dest_ip = input("请输入对方的ip:")
try:
dest_port = int(input("请输入对方的端口:"))
except:
print("error input!")
# 3.循环发数据
while True:
msg = input("(enter 'exit' to quit!)>")
# 发的数据要编码
# udp_socket.sendto(msg.encode('utf-8'), ("127.0.0.1", 7788))
udp_socket.sendto(msg.encode('utf-8'), (dest_ip, dest_port))
if msg == 'exit':
print('bye!