Как построить систему обмена сообщениями в .NET? - PullRequest
5 голосов
/ 16 января 2010

Я хотел бы написать программу, в которой вы можете иметь 2 клиентов, которые общаются друг с другом в режиме реального времени. Я изучал службы WCF и дуплексные сообщения, договоры о передаче данных и т. Д., Но теперь я в замешательстве.

В основном я вижу это как:

[Клиент] --- msg -> [Сервер] --- msg -> [Клиент] и наоборот.

Сервер будет действовать как мессенджер.

Не могли бы вы указать мне правильное направление? Я хотел бы использовать WPF для клиентских приложений.

Ответы [ 5 ]

4 голосов
/ 16 января 2010

Ознакомьтесь с парадигмой программирования WCF для одноранговой сети . Он будет расширен в WCF 4 (с .NET 4 - до 12 апреля 2010 г.), разрешив динамическое обнаружение статья здесь ) других клиентов в вашей сети. *

3 голосов
/ 16 января 2010

Это должно помочь вам начать работу: Приложение для чата WCF / WPF

0 голосов
/ 17 января 2010

Я написал программу, как ваш образец! но у него есть одно большое отличие: в моей программе есть чат-сервер и клиент. клиенты могут общаться с другими (с помощью службы чата)

Эта программа использует две службы wcf для установления соединения между клиентом и сервером (сервер вызовов клиента и отправка сообщения для него, сервер получает сообщение от клиента и отправляет для всех клиентов, подключенных к серверу) I Я думаю, что вы использовали один сервис и должны использовать два сервиса (как я) или использовать Дуплексный сервис .

Пример такого парикмахера слишком классный (Приложение для чата WCF / WPF в ответе). Он использовал дуплексные сервисы, но реальная проблема этого примера в том, что "sucah тоже использовал WPF, и это опытный пример для начинающих (таких как я и ты)".

Если хочешь, я могу поделиться своей программой !!!

seethis

0 голосов
/ 16 января 2010

Я могу вспомнить два сценария

  1. Клиенты - единственные, кто запускает запрос, отправляет push-сообщения и периодически получает запросы на новые сообщения. Основным преимуществом этой архитектуры является то, что она более защищена от брандмауэра.

  2. Клиентами также являются серверы, которые получают сообщения, передаваемые центральным сервером. Основное преимущество заключается в том, что клиенты получают обновления быстрее и экономят полосу пропускания.

0 голосов
/ 16 января 2010

Возможно Шина Windows Azure Service (которая использует WCF), возможно, стоит посмотреть?

Сервисная шина может эффективно использоваться в качестве шины сообщений, что является одним из способов реализации того, что вы описываете.

...