Я хочу иметь возможность использовать реактив для асинхронного получения пакетов udp.я написал этот блок кода.
udpServer = new UdpClient(20000);
remoteEP = new IPEndPoint(IPAddress.Any, 20000);
var read = Observable.FromAsyncPattern(udpServer.BeginReceive, t => udpServer.EndReceive(t, ref remoteEP));
, затем я использую эту функцию и сохраняю результирующий IObservable.
reader = read()
.Do(s =>
{
Logs.Add(System.Text.Encoding.UTF8.GetString(s));
})
.DoOnError(ex => status = ex.Message; );
когда я наконец подписываюсь, операция происходит только один раз, тогда наблюдательзавершается.
и вот мой вопрос : есть ли способ заставить этот код работать непрерывно?получать операцию «DO» каждый раз, когда поступают новые журналы?
боковая панель: просто интересно, в чем смысл с Observable.FromAsyncPattern, если я не могу использовать его повторно, мне лучше статически печатать 2 метода для начала иend вместо получения дополнительной информации о большем количестве экземпляров классов, которые позже необходимо удалить.
-im также открыт для всех других опций, кроме использования TPL.