2014-10-28 1 views
1

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

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

ответ

6

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

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

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

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

+0

Благодаря leggetter для входов. Попробуем это. Любые комментарии с точки зрения параметров (удобство использования, профессиональная поддержка, кривая обучения, стабильность производства и производительность), чтобы выбрать один из них. – SOUser

+0

@ SOUser - все три являются профессиональными и производственными классами со специализированными каналами поддержки, а также сообществом пользователей. Юзабилити - я бы сказал, что Пушер - самый простой в использовании (хотя я работал там, поэтому мое мнение мое было предвзятым). PubNub также прост в использовании в качестве платформы pubsub, а Firebase имеет немного более крутую кривую обучения, поскольку это платформа синхронизации данных. Для производительности см. Эти [статистика времени в реальном времени] (http://www.leggetter.co.uk/real-time-web-technologies-guide/realtime-hosted-service-latency). В вашем случае вы должны работать на 10 минут на любой платформе. – leggetter

+0

Hi leggetter, Спасибо за вашу помощь. Я создал два консольных приложения .Net (один с PusherServer, другой с PusherClient). Похоже, что у меня что-то не хватает на клиентском приложении, хотя я могу подключать сервер и отправлять сообщения, я не могу получать сообщения в клиентском приложении. Ниже приведены примеры кода клиента и сервера, пожалуйста, помогите мне идентифицировать проблема с моим кодом клиента – SOUser