Помогите мне найти решение для .NET приложения в реальном времени - PullRequest
0 голосов
/ 24 февраля 2010

Я занимаюсь разработкой системы, которая включает серверное приложение и клиентское приложение, обратите внимание: количество клиентов может быть до миллиона. Это мои требования:

  • Клиент должен пройти аутентификацию (имя пользователя и пароль) на сервере, чтобы принять соединение. И клиент будет слушать сервер и получать любые данные, отправленные с сервера.
  • Когда на сервере есть данные, сервер отправляет все подключенные клиенты.

Пожалуйста, помогите мне какое-нибудь решение. Примечание: клиент - это приложение WinForm, а сервер - это приложение любого типа, которое может отправлять данные всем подключенным клиентам.

P / S: В данный момент мой проект использует .NET Remoting, но он не подходит для моих требований, поскольку сервер не может отправлять данные клиентам. Я делаю трюк: каждый клиент будет отправлять запрос на сервер каждые 2 секунды один раз, чтобы проверить, есть ли на сервере новые данные или нет. Если да, клиент получит данные. Мне нужно новое решение для замены.

Спасибо.

Ответы [ 4 ]

3 голосов
/ 24 февраля 2010

Взгляните на Дуплекс WCF Services

Слово предупреждения, это не работает через https.

В качестве альтернативы Шина Windows Azure Service также поддерживает дуплексную связь.

2 голосов
/ 24 февраля 2010

Ну, вам нужно начать с того, чтобы задать себе и важный вопрос, действительно ли требуется 2-секундный интервал опроса? Можете ли вы сделать это менее частым.

Действительно ли вы хотите использовать частые опросы или предпочитаете использовать другую технику, такую ​​как длинный опрос (когда соединение остается открытым, пока не появятся новые данные, затем оно закрывается и воссоздается) или настоящая комета НАЖМИТЕ, где соединение всегда открыто.

Еще один важный вопрос: насколько сильно будет загружен этот сайт, несколько пользователей? сто, миллион?!

0 голосов
/ 24 февраля 2010

Вы смотрели на Jabber (XMPP)? Ваша потребность кажется индивидуальной, то есть вы можете инициировать отправку на основе определенных событий и т. Д. Плюс передача данных с учетом состояния и т. Д.

0 голосов
/ 24 февраля 2010

Если вы используете веб-сервисы, я думаю, что это невозможно сделать, поскольку оно всегда синхронно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...