signalr - 使用 Signalr/PersistentConnection 将服务器消息发送到连接的客户端

标签 signalr

我使用的是 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/

相关文章:

SignalR 作为 WCF 网络套接字服务

c# - 我们可以强制 SignalR 使用长轮询连接方法吗

javascript - 将 Angular 与 SignalR 结合使用时,当服务中的对象发生更改时,如何通知 Controller ?

javascript - Signalr:JavaScript 客户端无法在 IE 上重新连接(parseerror 异常)

c# - 允许任何用户在没有凭据的情况下访问 'signalr/hubs',使用 cors(服务器运行 windows 身份验证)

c# - ASP.NET Core 6 Web API项目无法通过postman连接SignalR

asp.net - ASP.NET Core SignalR 是否向后兼容 ASP.NET SignalR

azure - 带有大型信号器组件的 WP8 应用程序仅适用于模拟器

android - Android 设备休眠时 SignalR 连接丢失

c# - 从 SignalR 请求中检索持有者 jwt token