react+umi+netcore+signalR BS和客户端设备 简单通讯
微信扫码登录工作用 仅作记录
扫码访问服务器地址
实现扫码服务器地址通讯中断设备解锁 采用signalR 双向异步通知中断
创建控制器
ChatController 注入集线器上下文 IHubContext
public IActionResult Index(string name)
{
name = name ?? "demo1";
HubContext.Clients.All.SendAsync("SendMeg", $" {name}访问了");
return View(); }
注:这示例里通知所有终端 实现业务可加入终端ID 对点通知

集线器代码
public class ChatHub :Hub
{
//存储当前在线用户
public static List<ClientModels> clientModels = new List<ClientModels>(); /// <summary>
/// 自定义上线 通知服务器上线者设备信息
/// </summary>
/// <param name="name"></param>
public void Online(string name)
{
if (string.IsNullOrEmpty(name)) { return; }
name = Uri.EscapeDataString(name);
string connId = Context.ConnectionId;
var model = clientModels.SingleOrDefault(q => q.Name == name);
if (model == null)
{
clientModels.Add(new ClientModels() { ConnectionId = connId, Name = name,Createtime=DateTime.Now });
}
else
{
//更新令牌
model.ConnectionId = connId;
}
}
另外实现 主动通知设备页面 采用react+umi+antd 页面 附上fetch后台
public IActionResult SendMsg(string name, string msg)
{ var model = ChatHub.clientModels.SingleOrDefault(q => q.Name == name);
if (model != null)
{
HubContext.Clients.Client(model.ConnectionId).SendAsync("SendMeg", $" {msg}");
return Json(new { code = 1 });
}
else
{
return Json(new { code = 2,msg="发送失败!该客户端不在线" });
}
}

react+umi+netcore+signalR BS和客户端设备 简单通讯的更多相关文章
- .NetCore SignalR 踩坑记
		背景 由于最近公司要做微信小程序聊天,所以.NetFramwork版本的SignalR版本的不能用了.因为小程序里没有windows对象,导致JQuery无法使用.而Signalr的 js客户端是依赖 ... 
- NetCore.SignalR.Demo演示
		项目github,点击https://github.com/wangpengzong/NetCore.SignalR.Demo 1.打开服务端Server(\SignalR.Server\bin\De ... 
- Spring Mobile——探测客户端设备和系统
		Spring Mobile--探测客户端设备和系统 今天闲来无事,浏览Spring的官方网站,发现了Spring Mobile项目,之前也看到过,还以为是针对手机端的项目,并没有细看.今天仔细看了一下 ... 
- IdentityServer4 + SignalR Core +RabbitMQ 构建web即时通讯(三)
		IdentityServer4 + SignalR Core +RabbitMQ 构建web即时通讯(三) 后台服务用户与认证 新建一个空的.net core web项目Demo.Chat,端口配置为 ... 
- IdentityServer4 + SignalR Core +RabbitMQ 构建web即时通讯(二)
		IdentityServer4 + SignalR Core +RabbitMQ 构建web即时通讯(二) IdentityServer4 用户中心生成数据库 上文已经创建了所有的数据库上下文迁移代码 ... 
- IdentityServer4 + SignalR Core +RabbitMQ 构建web即时通讯(一)
		IdentityServer4 + SignalR Core +RabbitMQ 构建web即时通讯 前言 .net core 2.1已经正式发布了,signalr core1.0随之发布,是时候写个 ... 
- Java Spring Boot VS .NetCore (一)来一个简单的 Hello World
		系列文章 Java Spring Boot VS .NetCore (一)来一个简单的 Hello World Java Spring Boot VS .NetCore (二)实现一个过滤器Filte ... 
- Windows Socket 编程_单个服务器对多个客户端简单通讯
		单个服务器对多个客户端程序: 一.简要说明 二.查看效果 三.编写思路 四.程序源代码 五.存在问题 一.简要说明: 程序名为:TcpSocketOneServerToMulClient 程序功能:实 ... 
- [转]RabbitMQ的安装与客户端的简单实用
		原文地址:http://www.cnblogs.com/yangh965/p/5862347.html 本文主要内容是RabbitMQ的安装步骤[Windows系统与linux上的安装]及客户端的简单 ... 
随机推荐
- vue-组件化开发基础
			组件化开发基础.分为三个步骤: 创建组件构造器对象 注册组件 使用组件 <!DOCTYPE html> <html lang="en"> <head& ... 
- pandas 之 交叉表-透视表
			import numpy as np import pandas as pd 认识 A pivot table is a data summarization tool(数据汇总工具) frequen ... 
- K8s容器编排
			K8s容器编排 Kubernetes(k8s)具有完备的集群管理能力: 包括多层次的安全防护和准入机制 多租户应用支撑能力 透明的服务注册和服务发现机制 内建智能负载均衡器 强大的故障发现和自我修复能 ... 
- Unity检视面板的继承方法研究 (一)
			对于检视面板 Inspector 的面板继承方式对项目来说是很有必要的, 比如一个基类, 写了一个很好看的检视面板[CustomEditor(typeof(XXX))], 可是所有子类的面板无法直接继 ... 
- Kubernetes prometheus+grafana k8s 监控
			参考: https://www.cnblogs.com/terrycy/p/10058944.html https://www.cnblogs.com/weiBlog/p/10629966.html ... 
- poi基本使用
			poi基本使用 依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi< ... 
- 5 Ways AI is Transforming the Finance Industry
			https://marutitech.com/ways-ai-transforming-finance/ As global technology has evolved over the years ... 
- cookie 用户认证
			客户端浏览器上的一个文件 可认为是键值对集合 基于浏览器的功能 可以实现一个用户验证的功能 因为要在页面上显示当前用户的信息 修改 写index urls 运行直接输入index时 会自动进入lo ... 
- 【未完成】【Mybatis】字段由字符+数字变量组成,但要对变量进行计算
			?????????????????????? 
- 数据结构——顺序栈(sequence stack)
			/* sequenceStack.c */ /* 栈 先进后出(First In Last Out,FILO)*/ #include <stdio.h> #include <stdl ... 
