C#基于SignalR实现网页端,服务器,桌面端,甚至移动端实时通信

为实现网页与服务器实时互动,并且可以跟桌面端程序,甚至移动端App实时互动,查阅了很多资料,其中网页端限制较多,能实现的技术主要有socket.io,websocket和signalR,因为我只是个C#开发者,显然signalR更便于使用,如果你擅长Node.js,建议使用socket.io,当然这里面没有优劣之分,哪个方便用哪个。据部分资料介绍,SignalR配合redis,也能实现千万人在线功能。
摘要由CSDN通过智能技术生成

前言:

为实现网页与服务器实时互动,并且可以跟桌面端程序,甚至移动端App实时互动,查阅了很多资料,其中网页端限制较多,能实现的技术主要有socket.io,websocket和signalR,因为我只是个C#开发者,显然signalR更便于使用,如果你擅长Node.js,建议使用socket.io,当然这里面没有优劣之分,哪个方便用哪个。

据部分资料介绍,SignalR配合redis,也能实现千万人在线功能。

开发环境:

编程工具:VisualStudio 2022

Web端:ASP.NET Core Web 应用(MVC) .NET8.0

客户端:WPF .NET8.0

一,Web客户端开发:

1,利用node.js获取SignalR的js文件

2,通过Nuget包管理器安装SignalR的相关包

3,开发自己的SignalHub,类似Api接口,后续的通讯都是基于它进行的

using Microsoft.AspNetCore.SignalR;

namespace SignalrWeb.Scripts
{
    public class SignalrHubTest : Hub
    {
        /// <summary>
        /// 将消息发送到所有客户端,类似广播
        /// </summary>
        /// <param name="user"></param>
        /// <param name="message"></param>
        /// <returns></returns>
        public async Task SendMessage(string user, string message)
        {
            try
            {
                //尝试将信息发给所有用户
                await Clients.All.SendAsync("ReceiveMessage", user, message);
            }
            catch (Exception ex)
            {
  
  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值