🌷🌷🌷🌷例子1:实时聊天应用
🌷🌷🌷🌷例子2:实时通知
🌷🌷🌷🌷例子3:实时数据更新
🌷🌷🌷🌷例子4:实时协作编辑
例子1:实时聊天应用
这个例子展示了如何使用SignalR构建一个实时聊天应用程序。以下是一个简化的示例代码:
// 服务器端代码
public class ChatHub : Hub
{
public void SendMessage(string user, string message)
{
Clients.All.SendAsync("ReceiveMessage", user, message);
}
}
// 客户端代码
var connection = new signalR.HubConnectionBuilder().withUrl("/chatHub").build();
connection.on("ReceiveMessage", (user, message) => {
// 处理接收到的消息
});
connection.start().then(() => {
// 连接成功后的操作
});
// 发送消息
connection.invoke("SendMessage", user, message);
解析:在这个例子中,我们创建了一个名为ChatHub的SignalR Hub,它继承自SignalR的Hub类。在服务器端的SendMessage方法中,我们使用Clients.All.SendAsync方法将消息广播给所有连接的客户端。在客户端,我们使用SignalR的HubConnectionBuilder来建立与服务器的连接,并通过connection.on方法来监听服务器发送的消息。通过connection.invoke方法,客户端可以向服务器发送消息。这个例子展示了SignalR实时通信的基本流程,为实时聊天应用程序提供了基础架构。