Я экспериментирую с функцией ServerStore ServiceStack и хочу сделать своеобразное тестовое приложение «онлайн-пользователей». Идея заключается в том, что я хочу обновлять каждого пользователя, который подключается к каналу «Пользователи» всякий раз, когда новый пользователь присоединяется или уходит. Проблема в том, что я не могу найти способ обнаружить, когда подписка/пользователь уходит/отключается.Событие ServiceStack для отсоединения клиента
2
A
ответ
0
ServerEventsClient.OnCommand
обратного вызова вызывается, когда пользователь присоединяется, Листья или Обновляет подписку ServerEvent.
Вы также можете получить список всех активных абонентов из канала в любое время с:
var sseClient = new ServerEventsClient(...);
var response = sseClient.ServiceClient.Get(new GetEventSubscribers {
Channels = sseClient.Channels
});
Каким будет возвращать список нетипизированного Dictionary<string,string>
содержащих абонент Публичный.
Я также только что добавил типизированное API для GetChannelSubscribers()
в this commit, который теперь доступен из v4.0.57 on MyGet, который обеспечивает типизированный API для извлечения всех пользователей с подпиской на ServerEventsClient
каналов, например:
var channelSubscribers = sseClient.GetChannelSubscribers();
Смежные вопросы
- 1. Сервер странный после отсоединения клиента
- 2. Очистка сервера после отсоединения клиента
- 3. Сжатие клиента ServiceStack
- 4. Socket isClosed() возвращает false после отсоединения клиента
- 5. Обнаружение SignalR концентратор отсоединения клиента мгновенно
- 6. Сервер получает сообщение после отсоединения клиента
- 7. Запрос Solr продолжается после отсоединения клиента?
- 8. Обнаружения асинхронного отсоединения клиента в ASP.NET MVC
- 9. Обнаружение отсоединения клиента сервлета AWS ELB
- 10. Сервер закрывается после отсоединения одного клиента (JAVA)
- 11. Как удалить имя пользователя клиента с сервера после отсоединения клиента?
- 12. Поведение клиента ServiceStack Redis для несуществующего ключа
- 13. Ошибка обработки сериализации клиента ServiceStack
- 14. ServiceStack - как сжимать запросы от клиента
- 15. ServiceStack IHttpRequest.AbsoluteUri не соответствует браузер клиента Uri
- 16. Вызов службы ServiceStack от клиента WCF
- 17. Возможно ли считывание из клиентского сокета после отсоединения клиента?
- 18. Потребление потока в контексте клиента Servicestack
- 19. результатов отсоединения клиента в отказе от ошибки диапазона
- 20. Как обнаружить событие подключения и отсоединения datacard на win32
- 21. Настройка раскладки представлений ServiceStack Razor для каждого клиента
- 22. Событие клиента пользовательского контроля
- 23. Событие клиента OnLoad для управления изображением
- 24. Событие сокета для указанного клиента Android
- 25. событие шаблона клиента клиента не срабатывает
- 26. Процесс отсоединения от gvim
- 27. Отсоединение без отсоединения?
- 28. скрученный не обнаруживает отсоединения клиентов
- 29. Событие пожарного сервера от клиента
- 30. прослушиватели событий для отсоединения и повторного подключения
Существует ли эквивалентные события на на стороне сервера, мне нужно создать своего рода классический клиентский сервер типа TCP/IP, где сервер должен запускать фоновый материал и обновлять клиентов (и не зависеть от того, кто-то звонит кому-то, чтобы начать делать это). – Ravenheart
Также на стороне примечания, когда клиент отключается нечисто (скажем, вы убиваете приложение), и у них нет возможности отменить регистрацию, сервер не удаляет их из списка активных подписчиков (/ event-абонентов) в течение длительного времени времени (в области минут). – Ravenheart
@Ravenheart вы можете зарегистрировать обратный вызов на 'ServerEventsFeature.OnUnsubscribe', он также запускается, когда клиент не отменяет регистрацию, так как они перестанут посылать heartbeats, а после' ServerEventsFeature.IdleTimeout' (по умолчанию 30 секунд) он будет автоматически отменен , – mythz