Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csSpUdTmo 498 of 509 menu
◀ ▶

Таймаут UDP в C#

UDP не гарантирует доставку - без входящего пакета ReceiveAsync может ждать бесконечно. Короткий таймаут задают через CancellationTokenSource. Если датаграмма не пришла, ожидание прерывается:

using System.Net.Sockets; using UdpClient client = new(18081); using CancellationTokenSource cts = new(TimeSpan.FromMilliseconds(10)); try { await client.ReceiveAsync(cts.Token); } catch (OperationCanceledException) { Console.WriteLine("timeout"); }

Порт должен быть свободен; если 18081 занят, создайте UdpClient с другим номером.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить