SignalR vs WCF (duplex)

180 views
Skip to first unread message

Denis Dudaev

unread,
Jun 26, 2015, 5:32:04 AM6/26/15
to dotne...@googlegroups.com
Краткая история что нужно клиенту:
1. Есть много (до 500 клиентов на WPF)
2. Есть событие на сервере, которое должно отправить сообщение всем клиентам в Online.
3. Сообщение должно приходить не всем клиентам, а только выборочно по группам.(правам подписки)

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

Показал его заказчику, вроде понравилось. Но после общения с другим программистом все равно остался желать работать с WCF и websocket.

Вопросы:
1. Какие плюсы SignalR ?
2. Как реализовать на сокетах отправку сообещние только выбраным клиентам?
Одно из решений, что клиент (wpf) сам будет решать принимать это сообщение или нет. 

p.s Информация передается важная.(за деньги)



Ilya Dubadenko

unread,
Jun 26, 2015, 6:04:45 AM6/26/15
to dotne...@googlegroups.com
1. Простота использования и устойчивость к ошибкам + поддержка разных механизмов аутентификации пользователей, в том числе корпоративный NTLM
Но как любой инструмент он имеет область применения: так например мы вынуждены были отказаться от него, так как не мог передавать бинарные данные (protobuf)


2. http://www.asp.net/signalr/overview/guide-to-the-api/working-with-groups

--

---
Вы получили это сообщение, поскольку подписаны на группу "dotnetconf".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес dotnetconf+...@googlegroups.com.
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.

Денис Дудаев

unread,
Jun 26, 2015, 6:15:21 AM6/26/15
to dotne...@googlegroups.com
Спасибо, Второй вопрос для WCF, как решить это там, как на SignalR я уже даже в прототипе сделал.

26 июня 2015 г., 13:04 пользователь Ilya Dubadenko <ilya.du...@gmail.com> написал:

Ilya Dubadenko

unread,
Jun 26, 2015, 6:26:48 AM6/26/15
to dotne...@googlegroups.com
Так же как и на SirnalR:

При подключении нового клиента сохранять его callback:
var callback = OperationContext.Current.GetCallbackChannel<ICallback>();

Потом по требованию выбирать ранее сохраненный callback и передавать в него сообщение.

Денис Дудаев

unread,
Jun 26, 2015, 6:31:20 AM6/26/15
to dotne...@googlegroups.com
Спасибо, тогда пусть мучаются с ним.

26 июня 2015 г., 13:26 пользователь Ilya Dubadenko <ilya.du...@gmail.com> написал:

Denis Kodua

unread,
Dec 11, 2015, 12:28:11 PM12/11/15
to dotnetconf
"Так же как и на SirnalR:

При подключении нового клиента сохранять его callback:
var callback = OperationContext.Current.GetCallbackChannel<ICallback>();

Потом по требованию выбирать ранее сохраненный callback и передавать в него сообщение."

а для http так получится?

26 июня 2015 г., 14:31 пользователь Денис Дудаев <prost...@gmail.com> написал:
Reply all
Reply to author
Forward
0 new messages