我使用的是 SignalR/PersistentConnection,而不是集线器。
我想从服务器向客户端发送消息。我有客户端 ID 来发送它,但是如何从服务器向客户端发送消息?
就像,当服务器上发生某些事件时,我们希望向特定用户发送通知。
有什么想法吗?
最佳答案
github页面显示了如何使用 PersistentConnections 来执行此操作。
public class MyConnection : PersistentConnection {
protected override Task OnReceivedAsync(string clientId, string data) {
// Broadcast data to all clients
return Connection.Broadcast(data);
}
}
全局.asax
using System;
using System.Web.Routing;
using SignalR.Routing;
public class Global : System.Web.HttpApplication {
protected void Application_Start(object sender, EventArgs e) {
// Register the route for chat
RouteTable.Routes.MapConnection<MyConnection>("echo", "echo/{*operation}");
}
}
然后在客户端:
$(function () {
var connection = $.connection('echo');
connection.received(function (data) {
$('#messages').append('<li>' + data + '</li>');
});
connection.start();
$("#broadcast").click(function () {
connection.send($('#msg').val());
});
});
关于signalr - 使用 Signalr/PersistentConnection 将服务器消息发送到连接的客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7616983/