Проверяет понимание сценариев использования UDP-протокола за пределами стриминга и игр, что важно для оценки знаний сетевых технологий.
UDP (User Datagram Protocol) — это транспортный протокол без установления соединения, который отправляет дейтаграммы без подтверждения получения. В отличие от TCP, он не гарантирует порядок и доставку пакетов, но зато работает быстрее и требует меньше ресурсов. Это делает его идеальным для приложений, где задержка критичнее надёжности.
import socket
# UDP-сервер
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind(('localhost', 9999))
while True:
data, addr = sock.recvfrom(1024)
print(f'Получено: {data.decode()} от {addr}')
sock.sendto(b'OK', addr)
# UDP-клиент
client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
client.sendto(b'Hello', ('localhost', 9999))
response, _ = client.recvfrom(1024)
print(response.decode())UDP стоит применять в системах реального времени, где задержка важнее гарантированной доставки: голосовая связь, видеонаблюдение, финансовые котировки, IoT-сенсоры и сетевые протоколы. Если приложение может пережить потерю пакетов без серьёзных последствий, UDP — оптимальный выбор.