你可以在这里做的是你可以将ConnectionId发送到客户端并检查它.例如,下面是您的中心:
[HubName("moveShape")]
public class MoveShapeHub : Hub
{
public void MoveShape(double x, double y)
{
Clients.shapeMoved(Context.ConnectionId, x, y);
}
}
Run Code Online (Sandbox Code Playgroud)
在客户端级别,您可以执行以下操作:
var hub = $.connection.moveShape,
$shape = $("#shape"),
$clientCount = $("#clientCount"),
body = window.document.body;
$.extend(hub, {
shapeMoved: function (cid, x, y) {
if ($.connection.hub.id !== cid) {
$shape.css({
left: (body.clientWidth - $shape.width()) * x,
top: (body.clientHeight - $shape.height()) * y
});
}
}
});
Run Code Online (Sandbox Code Playgroud)
编辑
从SignalR 1.0.0-alpha开始,如果您使用Hub,则有一个内置的API:
[HubName("moveShape")]
public class MoveShapeHub : Hub
{
public void MoveShape(double x, double y)
{
Clients.Others.shapeMoved(x, y);
}
}
Run Code Online (Sandbox Code Playgroud)
这将播放除了来电者之外的所有人的数据.
现在使用SignalR即可使用
Clients.OthersInGroup("foo").send(message);
Run Code Online (Sandbox Code Playgroud)
这正是你所追求的.它将向除呼叫者之外的组中的每个人发送SignalR客户端消息.
您可以在这里阅读更多信息:SignalR wiki Hubs
| 归档时间: |
|
| 查看次数: |
2046 次 |
| 最近记录: |