使用SignalR向组内的用户组发送消息

时间:2013-11-21 16:47:59

标签: signalr

是否可以向SignalR中的一组中的客户选择发送消息?

...无需维护自己的订阅者列表并使用context.Clients.Clients(includeConnectionIds[])

2 个答案:

答案 0 :(得分:1)

SignalR默认情况下没有状态,或者他们实际上没有组...但它不是很动态。我遇到了和你一样的问题。我需要向一个组的子集发送消息..或者实际上我需要发送给年龄在x和y之间的客户...

这对团体来说是不可能的,所以你必须实现自己的功能。 臃肿丑陋......

我实际上最终使用的是Xsocket.net,而我可以使用lambda表达式来定位客户端,而不会搞乱自定义静态列表/组等。

不知道您的要求,但如果客户是通过以下方式发送到任何子集:

this.SendTo(p => p.Age > x && p.Age < y, new {Message="hello world"},"message");

//Signature of the extension method is...
//SendTo<T>(this IXSocketController socket, Func<T, bool> expression, object obj, string eventname)
//So you can actually send to clients on any controller is specifying T

祝你好运不尽。

答案 1 :(得分:0)

在SignalR 2.0中,您可以通过Clients.Groups或Clients.Clients在一次通话中发送到多个组或多个连接。