Использование Firebase/Pusher/Pubnub для push-уведомлений между приложением .Net Desktop и веб-приложением.

Я работаю над системой, в которой есть приложение .NET Desktop Winform и веб-приложение (с API-интерфейсами REST и пользовательскими интерфейсами на основе HTML/JavaScript), я хочу использовать одну из размещенных служб на основе REST (Firebase/Pusher/PubNub) для установки Связь между этими приложениями на основе push-уведомлений, так что любые изменения, сделанные пользователем (или внешними системами) в любом из приложений, должны быть мгновенно уведомлены другим приложением.

Насколько я понимаю, упомянутые выше размещенные службы работают с такими механизмами, как WebSockets, которые больше подходят для связи на основе браузера. Таким образом, необходимо понять, можно ли справиться с вышеупомянутым сценарием с помощью этих размещенных сервисов на основе REST (Firebase/Pusher/PubNub).


person SOUser    schedule 28.10.2014    source источник


Ответы (1)


Firebase, Pusher и PubNub предлагают REST/Web API, которые позволяют публиковать события/данные и, в некоторых случаях, состояние запроса. Все эти сервисы также предлагают API в режиме реального времени для потребления и публикации данных.

Firebase и Pusher пытаются использовать WebSockets и откатываются к решениям на основе HTTP. PubNub использует исключительно подключение на основе HTTP. Хотя это веб-технологии, они не привязаны к веб-браузерам. Просто эти технологии, как правило, становятся доступными и используются в браузерах раньше других клиентских технологий. Например, в .NET 4.5 есть класс WebSocket< /а>.

Таким образом, все эти решения для размещенных услуг абсолютно подходят для вашего сценария.

Если вы решили, что не хотите использовать размещенную службу, вы можете взглянуть на SignalR, который является частью ASP.NET. или XSockets, который является надежным решением для .NET. Дополнительная информация доступна в Руководстве по веб-технологиям в реальном времени.

person leggetter    schedule 28.10.2014
comment
Спасибо leggetter за вклад. Попробую это. Любые комментарии с точки зрения параметров (удобство использования, профессиональная поддержка, кривая обучения, производственная стабильность и производительность), чтобы выбрать один из них. - person SOUser; 28.10.2014
comment
@SOUser — все три являются платформами профессионального и производственного уровня с выделенными каналами поддержки, а также сообществом пользователей. Юзабилити - я бы сказал, что Pusher самый простой в использовании (хотя я работал там, поэтому мое мнение может быть предвзятым). PubNub также легко использовать в качестве платформы pubsub, а Firebase имеет немного более крутую кривую обучения, поскольку это платформа синхронизации данных. Чтобы узнать о производительности, см. эти статистику задержки в реальном времени< /а>. В вашем случае использования вы должны работать через 10 минут на любой платформе. - person leggetter; 28.10.2014
comment
Привет leggetter, Спасибо за вашу помощь, я создал два консольных приложения .Net (одно с PusherServer, другое с PusherClient). Похоже, я что-то упустил в клиентском приложении, поскольку, хотя я могу подключиться к серверу и отправлять сообщения, я не могу получать сообщения в клиентском приложении. Ниже приведены примеры кодов клиента и сервера, пожалуйста, помогите мне определить проблему с моим код клиента - person SOUser; 30.10.2014
comment
@SOUser stackoverflow.com/questions/26648566/ не найден - person Kiquenet; 27.05.2016
comment
@Kiquenet Pusher и PubNub — это размещенные сервисы. Вы можете установить их библиотеки .NET в любой поддерживающей среде. Эти библиотеки помогают вам взаимодействовать с их API, вы не устанавливаете экземпляр их службы. - person leggetter; 01.06.2016
comment
Firebase, Pusher / PubNub являются размещенными службами, для них требуется REST API. SignalR — это самостоятельная хост-служба. - person Kiquenet; 01.06.2016