宝哥软件园

SignalR Self Host MVC等多终端消息推送服务(2)

编辑:宝哥软件园 来源:互联网 时间:2021-09-04

一.概述

在上一篇文章中,我们简单地实现了SignalR自托管服务器。今天,我们将实现调用SignalR服务器推送信息的控制台程序。由于我们之前计划推送审批消息,所以我们的演示方向是由指定人员发送信息。至于聊天信息和全球广播,我们就不在这里演示了。

其次,创建一个控制台客户端

1.在SignalRProject解决方案下创建一个名为Clinet的新控制台

2.在包管理控制台中输入以下命令

安装-打包微软。信号客户

3.在Clinet项目中修改Program.cs代码

使用微软。信号客户端;使用系统;命名空间clinet { class program { static void main(string[]args){ console . write('请输入用户名: ');字符串clientName=Console。ReadLine();var URL=' http://localhost :10086/';var connection=new HubConnection(URL);var chatHub=连接。createHubProxy(' IMHub ');连接。开始()。ContinueWith(t={ if(!T.IsFaulted) {//连接成功,调用Register方法chathub.invoke ('register ',client name);} });//客户端接收实现,实现可以使用js或者后端接收var broadcast handler=chathub . onstring,string(' receiveprivatessage ',(name,message)={ Console。WriteLine('[{0}]{1}: {2} ',DateTime。now . ToString(' hh :mm :s '),名称,消息);});控制台。WriteLine('请输入收件人姓名: ');var _name=控制台。ReadLine();控制台。写线('请输入发送信息!');while(true){ var _ message=Console。ReadLine();Chathub。invoke(' sendprivatessage ',_ name,_ message)。继续(t={if (t. isfaulted) {console。writeline('连接失败!');} });控制台。WriteLine('请输入收件人姓名: ');_name=控制台。ReadLine();控制台。写线('请输入发送信息!');} } } } }

4.右键单击解决方案——,选择属性——,启动项目——,并将Clinet和Server设置为启动,如下所示:

5.F5运行后,打开另一个Clinet,在第一个Client中输入用户名A,登录后登录A的ID会显示在服务器中,登录后登录B的ID会显示在服务器中。然后根据提示信息,在Clinet A中输入收件人B,输入hello后按回车键,b Client会显示A输入的信息,如下图所示:

此后,控制台调用了Signaler服务器,消息推送的Demo已经完成。今天,我先写到这里。在下一章中,我们将调用B/S端的信号员服务来推送消息

以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。

更多资讯
游戏推荐
更多+