Я разрабатываю приложение для Android и использую SignalR
на моем сервере asp.net
и пользовательском java-клиенте SignalA. Я столкнулся со следующей проблемой: когда клиент присоединяется к какой-либо группе, он не получает сообщение, которое отправляется сразу после присоединения. Вот кусок кода с сервера:SignalR: объединение группы синхронизации
Task.Factory.StartNew(() => context.Groups.Add(groupId, connectionId)).
ContinueWith(t => Groups.Send(groupId, message));
На клиентской стороне я получаю обратный вызов с новыми группами лексем, но первое отправленное сообщение не получено (сообщения, отправленные после этого, однако, получили). Попытка того же самого с официальным клиентом C# работает отлично. Таким образом, кажется, что первое сообщение получено до того, как будет обработан новый токен групп.
После долгих попыток сравнения кода кода C# и java я не нашел решение. Я ищу объяснение (или ссылки на код) о том, как эта ситуация обрабатывается на клиенте C#, поэтому я смогу реализовать ту же логику в java-клиенте.
P.S. было бы гораздо более безболезненно, если бы использовался официальный клиент C# с андроидом вместо использования пользовательского java-клиента.
P.P.S. есть некоторые «грязные» способы исправить мою проблему, например, положить небольшую задержку на сервер после присоединения к группе или отправить сообщение подтверждения от клиента, но все же я ищу «чистое» исправление.