.Net Core之SignalR

.Net Core之SignalR

SignalR作为实时通讯框架,支持轮询和WebSocket,会自动选择服务器和客户端的最佳传输方式,很适合需要实时通讯的需求

  • 引入

    services.AddSignalR();
    
    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllers();
        endpoints.MapHub<SignalRHub>("/signalRHub");
    });
    
  • 定义

    SignalR的Hub类似于MVC的Controller,在hub里除了可以像Controller一样通过客户端调用服务端,还可以记录客户端在线状态,实现推送和客户端之间通讯的功能

    public class SignalRHub : Hub
    {
        public SignalRHub()
        {
        }
    
        public override Task OnConnectedAsync()
        {
            Console.WriteLine("OnConnectedAsync:" + Context.ConnectionId);
            return base.OnConnectedAsync();
        }
    
        public override async Task OnDisconnectedAsync(Exception exception)
        {
            Console.WriteLine("OnDisconnectedAsync:" + Context.ConnectionId);
            await base.OnDisconnectedAsync(exception);
        }
      
        public async Task DoWork()
        {
          //供客户端调用
        }
    }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值