在 C# 应用程序中使用 SignalR 进行实时通信:初学者指南

SignalR 是一个用于 ASP.NET 和 .NET 的开源库,它通过 Web 套接字协议提供服务器和客户端之间的双向通信,从而简化了实时 Web 应用程序。SignalR 使用 WebSocket、服务器发送事件 (SSE) 和长轮询等多种传输协议在客户端和服务器之间建立持久连接。

在 C# 应用程序中使用 SignalR 进行实时通信:初学者指南

SignalR 的主要用途是创建实时应用程序,例如聊天应用程序、通知系统、协作白板、游戏应用程序等。它还可用于向现有应用程序添加实时功能。

使用 SignalR 的好处包括:

  • 易于使用和设置
  • 支持多种传输协议
  • 适用于不同的浏览器和平台
  • 提供服务器和客户端之间的实时通信
  • 实现实时更新,无需手动刷新
  • 提高用户参与度和互动性

要在 C# .NET 中使用 SignalR,您可以按照以下步骤操作:

步骤 1:安装 SignalR 包 您可以使用 NuGet 包管理器安装 SignalR 包。打开 NuGet 包管理器控制台并运行以下命令:

Install-Package Microsoft.AspNet.SignalR

步骤 2:创建 SignalR hub 通过向项目添加新类Hub并继承该类来创建新的 SignalR hub 。Hub类将包含客户端可以调用以与服务器通信的方法。

using Microsoft.AspNet.SignalR;

public class ChatHub : Hub
{
    public void Send(string name, string message)
    {
        Clients.All.broadcastMessage(name, message);
    }
}

步骤 3:在客户端上通过设置 SignalR 将以下脚本标记添加到 HTML 页面,将 SignalR JavaScript 库添加到你的项目中。

<script src="~/Scripts/jquery.signalR-2.4.2.min.js"></script>

步骤 4:连接到hub 创建 SignalR hub 的新实例并调用start方法来建立到 hub 的连接。

$(function () {
    var chat = $.connection.chatHub;

    chat.client.broadcastMessage = function (name, message) {
        $('#messages').append('<li><strong>' + name + '</strong>: ' + message + '</li>');
    };

    $.connection.hub.start().done(function () {
        $('#sendmessage').click(function () {
            chat.server.send($('#displayname').val(), $('#message').val());
            $('#message').val('').focus();
        });
    });
});

在此代码中,chat变量代表 SignalR hub。broadcastMessage方法是服务器可以调用的向客户端发送消息的方法。该hub.start方法建立与hub的连接,并done在连接成功建立时调用该方法。

步骤 5:从客户端调用服务器方法 使用SignalR hub的属性从客户端调用服务器方法。

chat.server.send($('#displayname').val(), $('#message').val());

此代码调用服务器上的Send方法,并传入displayname和message输入字段的值。

就是这样!通过这些步骤,你可以在 C# .NET 应用程序中使用 SignalR 并在服务器和客户端之间创建实时通信。

本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/jishu/im/30056.html

(0)

相关推荐

发表回复

登录后才能评论