Клиент-серверное приложение My Winforms использует многоадресную передачу UDP для обновления всех клиентов в режиме реального времени.Сервер отправляет события в известный приемник UDP, и каждый клиент получает их, используя экземпляры класса System.Net.Sockets.UdpClient.
Это прекрасно работает - когда это работает.У каждого клиента есть удаленный объект, для которого он выполняет свои синхронные вызовы через TCP, а UDP обрабатывает асинхронные операции, поэтому клиент остается без состояния.Но многие из наших клиентов по-разному отключают UDP - некоторые отключают многоадресную рассылку, некоторые вообще отключают UDP, некоторые отключают ее преднамеренно, другие - случайно.В итоге я занимаюсь сетевым администрированием гораздо больше, чем хотелось бы.
Другой вариант, как мне кажется, заключается в том, чтобы сервер управлял клиентскими подключениями и отправлял события через TCP, но для этого требуется сервер с состоянием и он не выглядит очень привлекательным.Есть ли лучшие альтернативы?