SignalR Self Host+MVC等多端消息推送服务(二)
程序员文章站
2022-06-09 09:21:44
一、概述
上次的文章中我们简单的实现了signalr自托管的服务端,今天我们来实现控制台程序调用signalr服务端来实现推送信息,由于之前我们是打算做审批消息推送,所以...
一、概述
上次的文章中我们简单的实现了signalr自托管的服务端,今天我们来实现控制台程序调用signalr服务端来实现推送信息,由于之前我们是打算做审批消息推送,所以我们的demo方向是做指定人发送信息,至于做聊天消息和全局广播,这里就不在进行演示了。
二、创建控制台客户端
1、在signalrproject解决方案下新建一个名为clinet的控制台
2、在程序包管理控制台中输入以下命令
install-package microsoft.aspnet.signalr.client
3、修改clinet项目中的program.cs代码
using microsoft.aspnet.signalr.client; using system; namespace clinet { class program { static void main(string[] args) { console.write("请输入用户名: "); string clientname = console.readline(); var url = "http://localhost:10086/"; var connection = new hubconnection(url); var chathub = connection.createhubproxy("imhub"); connection.start().continuewith(t => { if (!t.isfaulted) { //连接成功,调用register方法 chathub.invoke("register", clientname); } }); //客户端接收实现,可以用js,也可以用后端接收 var broadcasthandler = chathub.on<string, string>("receiveprivatemessage", (name, message) => { console.writeline("[{0}]{1}: {2}", datetime.now.tostring("hh:mm:ss"), name, message); }); console.writeline("请输入接收者名:"); var _name = console.readline(); console.writeline("请输入发送信息!"); while (true) { var _message = console.readline(); chathub.invoke("sendprivatemessage", _name, _message).continuewith(t => { if (t.isfaulted) { console.writeline("连接失败!"); } }); console.writeline("请输入接收者名:"); _name = console.readline(); console.writeline("请输入发送信息!"); } } } }
4、右键单击解决方案——>选择属性——>启动项目——>多启动项目——>将clinet和server设置为启动,如下:
5、f5运行后,再开一个clinet,在第一个client中输入用户名为a,登录后server中显示出登录a的id,在另一个clinet中输入用户名为b,登录后server中显示出登录b的id,然后根据提示信息,a clinet中输入接收信息的人为b,输入hello后按enter后,b client显示出了a输入的信息,如下图:
自此控制台调用signalr服务端,实现消息推送的demo就完成了,今天先写到这,下一章我们实现b/s端调用signalr服务来推送消息
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
推荐阅读
-
SignalR Self Host+MVC等多端消息推送服务(三)
-
SignalR Self Host+MVC等多端消息推送服务(二)
-
SignalR Self Host+MVC等多端消息推送服务(一)
-
SignalR Self Host+MVC等多端消息推送服务(三)
-
SignalR Self Host+MVC等多端消息推送服务(二)
-
SignalR Self Host+MVC等多端消息推送服务(一)
-
SignalR Self Host多端消息推送服务介绍
-
SignalR Self Host多端消息推送服务介绍
-
SignalR Self Host多端消息推送服务介绍(二)
-
SignalR Self Host多端消息推送服务实例(三)