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