一、概述

最近项目确实太忙,而且身体也有点不舒服,慢性咽炎犯了,昨晚睡觉时喘不过气来,一直没休息好,也没什么时间写博客,今天朋友问我什么时候能出web端的消息发送的文章时,我还在忙着改项目的事,趁着中午吃饭和午休的时间,赶紧补上之前欠下的文章。

这章主要是实现多端消息相互通信的简单demo,mvc的web端发送信息到control端等。

二、创建web客户端

1、新建一个WebClient解决方案

SignalR Self Host+MVC等多端消息推送服务(三)

2、在WebClient解决方案下新建一个名为Clinet mvc项目

SignalR Self Host+MVC等多端消息推送服务(三)

3、根据自己实际情况选择对应的项目模板,这里为了做演示,选择Internet应用程序

SignalR Self Host+MVC等多端消息推送服务(三)

4、在vs中打卡程序包管理器控制台,输入以下代码

Install-Package Microsoft.AspNet.SignalR.JS

SignalR Self Host+MVC等多端消息推送服务(三)

5、修改项目中Views下Homge文件夹中的Index.cshtml文件代码,如下

@{
  Layout = null;
}

<h1>流程演示</h1>
<input type="hidden" id="displayname" />
<h2 id="thisname"></h2>

<select id="username" style="width: 100px;">
</select>
<br />
<br />
<input type="text" id="message" />
<input id="send" type="button" value="发送" />
<div>
  <h1 id="messgaeInfo"></h1>
</div>
<script src="/UploadFiles/2021-04-02/jquery-1.8.2.min.js">

SignalR Self Host+MVC等多端消息推送服务(三)

6、在运行我们的web Client项目前,先运行我们前面两章中的serve控制台项目,然后F5运行web Client项目,见如下界面,输入用户名为a的用户登录

SignalR Self Host+MVC等多端消息推送服务(三)

SignalR Self Host+MVC等多端消息推送服务(三)

7、然后打开另一个浏览器,如上步骤,输入b用户登录,a用户选择下拉项中的b(下拉选项在有用户登录时会自动添加新用户进去),b用户选择a,相互之间发送一下信息进行测试,结果如下

SignalR Self Host+MVC等多端消息推送服务(三)

8、如果a、b之间消息传送没问题,证明web端消息传送成功,这个时候打开我们前一章中的Client控制台项目,运行该项目下bin中的Clinet.exe,打卡两个程序,输入登录名为c、b

SignalR Self Host+MVC等多端消息推送服务(三)

SignalR Self Host+MVC等多端消息推送服务(三)

9、用c用户给a发送消息hello a,效果如下

SignalR Self Host+MVC等多端消息推送服务(三)

10、用c用户给b用户发送消息hello b!效果如下,证明control端给web端发送消息成功

SignalR Self Host+MVC等多端消息推送服务(三)

11、用用户d给用户c发送消息,如下图,证明control端消息发送成功

SignalR Self Host+MVC等多端消息推送服务(三)

12、用a给c发送消息,如下图所示

SignalR Self Host+MVC等多端消息推送服务(三)

13、用b给d发送消息,如下图所示,证明web——>control发送消息成功

SignalR Self Host+MVC等多端消息推送服务(三)

由上所示,证明以SignalR做成owin服务,是可以实现多端通信的,而且SignalR单独做成通信服务可以与其他项目分离、解耦。

后期有时间我会继续优化,集成RabbitMQ等

写的不好,第一次写博客,请各位大大多多指教

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

标签:
SignalR,Self,Host,MVC,消息推送

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
狼山资源网 Copyright www.pvsay.com

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。