2011-12-26 2 views
1

Я пытаюсь решить проблему, когда у меня будут абоненты одного концентратора, но они будут поступать из разных городов, и моя страница будет определять города, в которых они приходят из. У меня есть один концентратор, который каждый будет слушать и из этого концентратора я хочу избирательно передавать сообщения в определенные города.Как транслировать выборочно внутри концентратора при использовании SignalR

Пожалуйста, сообщите, если подход неправильный или сообщите, как я могу выборочно отправлять сообщения через концентратор. Возможно, мне придется перейти к нижнему подходу PersistentConnection API.

Заранее спасибо.


Im возвращаясь к этому вопросу, чтобы прокомментировать результат. То, что я узнал, что мне действительно нужно было сделать, - это иметь динамические комнаты, которые существовали исключительно на основе дружеских отношений или групповых отношений и связанных городами, у которых слишком много возможностей, поскольку каждая «группа» уникальна для перспективы человека. Мне было слишком сложно разобраться с использованием SignalR, поэтому я просто закодировал его на JavaScript с использованием хэшей и массивов для node.js и socket.io, так как мне больше всего нравится JavaScript. Node.js не ускоряется, так как не компилируется, а C# уже разрешает использовать асинхронный материал, который узел обрабатывает как его точку продаж, поэтому не принимайте это как стук в SignalR. Просто поделитесь. Вот ссылка на него на github, если вам интересно: https://github.com/sebringj/zipstory-node

ответ

3

Вы можете добавить пользователей в группы, а затем передать сообщение всем клиентам в этой группе. Обратите внимание на source code для проекта чата JabbR, они используют addToGroup для добавления пользователя в конкретную комнату чата, см. Файл класса this.

Также см here документы

+0

Благодаря @redsquare. Это делает это для меня. –

+0

@emeraldcode не стоит беспокоиться, вы всегда можете присоединиться к нам в чате jabbr для получения дополнительной помощи - http://jabbr.net/ – redsquare

+0

знаете ли вы, как я могу сделать трансляцию только для чтения, так что никто не может делать XSS, добавив «addMessage» через JavaScript? Я не был уверен, что вы можете сделать это в сигнале или нет. Было бы неплохо, если бы объявление класса C# в классе задало его как доступную на стороне сервера только, если это было возможно. Было бы здорово иметь только широковещательный вариант. –