3

我使用Echo派生自 的类PersistentConnection,并且我想向某个连接发送消息:

var client = GlobalHost.ConnectionManager.GetConnectionContext<Echo>();
client.Connection.Broadcast(msg);

但我想将它发送到特定的连接 ID。我是否必须为每个连接创建一个组或开始使用集线器,或者有一种更简单的方法来按 ID 选择连接,例如:

GetConnectionById(id).Send(msg);

?

4

1 回答 1

2

消息可以发送到特定的连接 ID,但语法与您在问题中指定的不同。以下代码段显示了语法:

return Connection.Send(connectionId, Message);

我的答案来源:Github 上的 SignalR wiki

我想,您知道 SignalR 1 Alpha 已发布。如果您使用此版本,则可以通过其 ID 向特定客户端发送消息。以下片段显示了它:

var connection = GlobalHost.ConnectionManager.GetConnectionContext<Echo>().Connection;
connection.Send(((Connection)connection).Identity, "Message to be sent");

在这里,((Connection)connection).Identity给出请求客户端的连接 ID。

于 2012-10-28T16:46:42.343 回答