一.概述
在上一篇文章中,我们简单地实现了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端的信号员服务来推送消息
以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。