要保持UDP套接字的开启状态,可以使用循环来接收和处理传入的数据。下面是一个示例代码:
import socket
# 创建UDP套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定本地IP和端口
udp_socket.bind(('127.0.0.1', 8888))
while True:
# 接收数据
data, addr = udp_socket.recvfrom(1024)
print(f"Received data from {addr}: {data.decode()}")
# 处理数据,例如回复消息
response = "Hello, client!"
udp_socket.sendto(response.encode(), addr)
上述代码创建了一个UDP套接字,并通过bind方法将其绑定到本地IP地址和端口。然后,使用一个无限循环来接收传入的数据。每当有数据到达时,它会打印出发送方的地址和接收到的数据。
你可以根据需要在循环中添加适当的处理逻辑。在这个示例中,代码简单地回复一个固定的消息给发送方。
请注意,这是一个简单的示例,没有处理网络错误或异常。在实际应用中,你可能需要添加适当的错误处理和异常处理机制。